类和对象
类:类是描述一个对象的;
对象:对象是类产生的实体;
类
一般一个文件中只定义一个类;
类的组成:
- 成员变量(也叫做属性、字段):定义在方法的外部,类的内部;
- 成员方法:定义在类中;
public class Student {// 定义成员变量、字段、属性public String name;public int age;public String sex;// 定义成员方法public void DoHomework() {System.out.println(name + "写作业");}public void DoClass() {System.out.println(name + "去上课");}
}
类的实例化(实例化对象)
类名 对象名 = new 类名();
- 类创建对象的过程就是类的实例化;
- 这里的对象属于引用类型,通过关键字new可以实例化多个对象;
- 只要new就会产生新的对象,只要有新的对象在堆上就有新的空间;
- 类名 对象名 = new 类名(); 就是实例化对象;
对象名.成员变量/成员方法;
对象通过.来访问对象中的成员变量和成员方法;
public static void main(String[] args) {Student student = new Student(); // 类的实例化// student对象通过.来访问成员变量和成员方法student.name = "张三";student.age = 19;student.sex = "男";student.DoHomework();student.DoClass();}
构造方法
- 构造方法是一个特殊的方法,方法没有返回值,方法名和类名一样;
- 构造方法至少有一个,在没有写任何构造方法的时候,编译器(Java)会自带一个无参的数的构造函数;
- 但是一旦写了任何一种构造方法,编译器就不会提供任何一个构造方法;
- 在实例化对象时,构造方法就会被调用(构造方法的调用是发生在实例化对象的时候);
- 构造方法在整个生命周期中只调用一次;
- 构造方法可以重载;
- 对象的产生有两步:1、为对象分配内存;2、调用适合的构造方法;
- 快捷创建构造方法:右键 -> generate -> constructor -> 选择什么参数的构造方法;
构造方法的作用:就是对对象中的成员进行初始化,并不负责给对象开辟空间。
this引用
- this.成员变量;// 表示当前对象的成员变量,this就表示当前对象;
- this.成员方法;// 访问当前类的成员方法;
- this的类型:对应类类型引用,即哪个对象调用就是哪个对象的引用类型;
- this只能在"成员方法"中使用, 在"成员方法"中,this只能引用当前对象,不能再引用其他对象;
构造方法中的this引用 —— this();
this(参数值1,参数值2,...); // 这条语句必须位于构造方法的第一句;
this(); 的用法:在无参构造函数中调用含有参数的构造函数;// this();进行赋值必须按顺序进行赋值;
// 构造方法public Student() {// this("张三"); //this()等价与下面的初始化// this.name = "张三";this("李四",19,"男"); // this()等价与下面的初始化this.name = "李四";this.age = 19;this.sex = "男";}public Student(String name) {this.name = name;}public Student(String name, int age, String sex) {this.name = name;this.age = age;this.sex = sex;}