我肯定说,不知道、不清楚。
简单讲类是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(); }}
新闻热点
疑难解答