- 类
- 实例化对象
- 构造方法
- 重载
- this 关键字
- toString 方法
定义一个类,就相当于在计算机中定义了一种新的类型,与int,double类似,只不过int和double是java语言自带的内置类型,而类是用户自定义了一个新的类型,比如Person类和Student类。有了这些自定义的类型之后,就可以使用这些类来定义实例(或者称为对象)。
class Person(){
//属性或者成员变量
public String name;
public int age;
//成员方法
public void eat() {
System.out.println("吃饭!");
}
public void sleep() {
System.out.println("睡觉!");
}
}
实例化对象
用类类型创建对象的过程,称为类的实例化,在java中采用new关键字,配合类名来实例化对象。类是一种自定义的类型,可以用来定义变量,在java中用类定义出来的变量我们称为对象
- new 关键字用于创建一个对象的实例
类名 对象名 = new 类名(); Person person = new person();
- 使用 对象名.属性 来访问对象中的属性
person.name;
- 使用 ==对象名.方法 ==来访问对象中的方法
person.eat();
- 同一个类可以创建多个实例
public static void main1(String[] args) {
//实例化一个对象【通过new关键字来创建了一个对象】
Person person1 = new Person();
Person person2 = new Person();
构造方法
是一个特殊的成员方法,名字必须与类名相同,没有返回值,在实例化对象时,由编译器自动调用,并且在整个对象的生命周期内只调用一次,构造方法可以重载。
如果你没有写构造方法,编译器会生成一份默认的构造方法,生成的默认构造方法一定是无参的。
当你写了一个构造方法,编译器就不会在帮你生成。
Person person = new Person();
这个括号其实就说明,这个实例化调用的是无参数的构造方法,
假如你只提供了有参数的构造方法,编译器不会为你提供任何构造方法,则程序就会报错。
快捷产生构造方法,右键Generate——constructor——选择属性
重载1.方法名相同
2.参数列表不同
3.返回值不做要求
public Cat() {
System.out.println("这是不带参数的构造方法");
}
这两个就构成了方法重载
public Cat(int age, String name, String gender) {
this.age = age;
this.name = name;
this.gender = gender;
System.out.println("这是带有3个参数的构造方法");
}
this 关键字
Java中this可以完成三件事情:表示本类属性、表示本类方法、当前对象。
一个类中的方法分为两种:
(1)普通方法:如果现在要调用的是本类方法,可以使用“this.方法()”调用;
(2)构造方法:调用构造方法使用“this(参数…)”调用。
但是要注意的是:所有的构造方法是在对象实例化的时候被默认调用,而且是在调用普通方法之前调用,所以使用“this(参数…)”调用构造方法的操作,是在构造方法中调用本类中其他的构造方法,并且一定要放在该构造方法的第一行
public Person() {
this(36,"鹿晗","男");//调用带3个参数的构造方法
System.out.println("这是一个没有参数的构造方法");
}
Person person3 = new Person();//使用不带参数的构造方法,然后使用this关键字调用3个参数的构造方法,就不用自己赋值
person3.show();
person3.sleep();
toString 方法
打印属性
@Override
public String toString() {
return "Cat{" +
"年龄=" + age +
", 姓名='" + name + ''' +
", 性别='" + gender + ''' +
'}';
}//打印属性
等同于下方的 show() 方法,toString 方法可以自动生成
public void show(){
System.out.println("姓名: " + this. name + "年龄: " + this. age);
}



