我肯定说,不知道、不清楚。
简单讲类是java中的基本单元,类是具有相同特性和行为的对象集合
1.3、类的定义
class 类名{
}
1.4、类包含
类中包含成员和行为(方法)
package com.pb.demo2; /* * 人类 */ public class Person { //Persion为类名 /* * 属性,name,sex,age */ public String name; //名字 public String sex ; //性别 public int age; //年龄 /* *方法(行为) */ //吃饭 public void eat(){ System.out.println("吃饭"); } //工作 public void work(){ System.out.println("工作"); } }
1.5、三大特征
封装、继承、多态
二、类和对象关系
2.1、类和对象
类就是对现实生活中事物的描述。
对象就是这些事物,实实在在的个体
package com.day05; /** * 汽车类 * * @author Denny 属性对应类中变量 行为对应类中的函数(方法) 定义类就是在描述事物,就是在定义属性和行为 * 属性和行为共同成为类中的成员变量(成员变量和方法) */ public class Car { // 颜色 String color = "红色"; // 轮胎 int num = 4; // 运行跑起来的行为 public void run() { //局部变量 //int num=10; System.out.println(color + " " + num); } public static void main(String[] args) { Car c = new Car();// 声明汽车对象c c.color = "黄色"; // 更改属性值 c.num = 8; c.run(); // 调用方法 Car c1=c; c1.color="白色"; c1.num=6; c.run(); } }
package com.day05; /** * 汽车类 * * @author Denny 属性对应类中变量 行为对应类中的函数(方法) 定义类就是在描述事物,就是在定义属性和行为 * 属性和行为共同成为类中的成员变量(成员变量和方法) * 作用范围 * 成员变量作用于整个个类中 * 局部变量作用于方法或者文句中 * 在内存中的位置 * 成员变量在堆内存 * 局部变量在栈内存 */ public class Car { // 颜色 String color = "红色"; // 轮胎 int num = 4; // 运行跑起来的行为 public void run() { //局部变量 //int num=10; System.out.println(color + " " + num); } public static void main(String[] args) { new Car().num=99; new Car().color="blue"; new Car().run(); } }
红色 4
package com.day05; /** * 人类 * * @author Denny * */ public class Person { private String name; // 姓名 private int age; // 年龄 private String gender; // 性别 // 自我介绍的方法 public void say() { System.out.println("姓名:" + this.name + " 年龄:" + this.age + " 性别:" + this.gender); } // getter、setter方法 提供的对外的访问 public String getName() { return name; } public void setName(String name) { this.name = name; } public int getAge() { return age; } public void setAge(int age) { // 检查年龄是不是在0-150之间 if (age >= 0 && age <= 150) { this.age = age; } else { System.out.println("年龄不合法!"); } } public String getGender() { return gender; } public void setGender(String gender) { // 检查条件 if (gender.equals("男") || gender.equals("女")) { this.gender = gender; } else { System.out.println("性别不合法只能是男或者女!"); } } public static void main(String[] args) { Person p = new Person(); p.setName("张三"); p.setAge(-20); p.setGender("人妖"); p.say(); } }
结果:
public class Person { private String name; // 姓名 private int age; // 年龄 private String gender; // 性别 public Person() { //无参数构造方法 } //实现构造方法重载 public Person(String name, int age, String gender) { //有参数构造方法 this.name = name; this.age = age; this.gender = gender; } // 自我介绍的方法 public void say() { System.out.println("姓名:" + this.name + " 年龄:" + this.age + " 性别:" + this.gender); } // getter、setter方法 提供的对外的访问 public String getName() { return name; } public void setName(String name) { this.name = name; } public int getAge() { return age; } public void setAge(int age) { // 检查年龄是不是在0-150之间 if (age >= 0 && age <= 150) { this.age = age; } else { System.out.println("年龄不合法!"); } } public String getGender() { return gender; } public void setGender(String gender) { // 检查条件 if (gender.equals("男") || gender.equals("女")) { this.gender = gender; } else { System.out.println("性别不合法只能是男或者女!"); } } } public static void main(String[] args) { Person p = new Person("张三",13,"男");//调用有参数的构造方法 p.say(); } }
package com.day05; /** * 人类 * * @author Denny * */ public class Person { private String name; // 姓名 private int age; // 年龄 private String gender; // 性别 /* * 构造代码块: * 作用:给对象进行初始化 * 对象 一建立就运行,而且优先于构造方法执行 * 构造代码块是给所有对象进行统一初始化 * 构造方法是给对应的对象初始化 */ { System.out.println("这是Person 的构造代码块"); } public Person() { } public Person(String name, int age, String gender) { this.name = name; this.age = age; this.gender = gender; } // 自我介绍的方法 public void say() { System.out.println("姓名:" + this.name + " 年龄:" + this.age + " 性别:" + this.gender); } // getter、setter方法 提供的对外的访问 public String getName() { return name; } public void setName(String name) { this.name = name; } public int getAge() { return age; } public void setAge(int age) { // 检查年龄是不是在0-150之间 if (age >= 0 && age <= 150) { this.age = age; } else { System.out.println("年龄不合法!"); } } public String getGender() { return gender; } public void setGender(String gender) { // 检查条件 if (gender.equals("男") || gender.equals("女")) { this.gender = gender; } else { System.out.println("性别不合法只能是男或者女!"); } } public static void main(String[] args) { Person p = new Person("张三",13,"男"); Person p1=new Person(); } }
结果:
// 自我介绍的方法
public void say() {
System.out.println("姓名:" + this.name + " 年龄:" + this.age + " 性别:" + this.gender);
}
package com.day05;
/**
*
* @author Denny this 语句的调用
*/
public class Person1 {
private String name; // 姓名
private int age; // 年龄
public Person1() {
}
public Person1(String name) {
this.name = name; // 为本对象name赋值
}
public Person1(String name, int age) {
// 在构造方法中调用另一个构造方法时this必须放在第一行
this(name); // 调用另一个构造方法
this.age = age;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
// 自我介绍的方法
public void say() {
System.out.println("姓名:" + this.name + " 年龄:" + this.age);
}
public static void main(String[] args){
//声明一个参数的对象
Person1 p1=new Person1("张三");
p1.say();
Person1 p2=new Person1("张三",25);
p2.say();
}
}
原文:http://www.cnblogs.com/liunanjava/p/4788299.html