Java中类和对象
- 构造方法
构造方法:一种特殊方法, 使用关键字new实例化新对象时会被自动调用, 用于完成初始化操作
new 执行过程
●为对象分配内存空间
●调用对象的构造方法
语法规则
1.方法名称必须与类名称相同
2.构造方法没有返回值类型声明
3.每一个类中一定至少存在一个构造方法(没有明确定义,则系统自动生成一个无参构造)
注意事项
●如果类中没有提供任何的构造函数,那么编译器会默认生成一个不带有参数的构造函数
●若类中定义了构造方法,则默认的无参构造将不再生成.
●构造方法支持重载. 规则和普通方法的重载一致
class Person {
private String name;//实例成员变量
private int age;
private String sex;
//默认构造函数 构造对象
public Person() {
this.name = "xiaohua";
this.age = 10;
this.sex = "女";
}
public Person(String name, int age, String sex) {
this.name = name;
this.age = age;
this.sex = sex;
}
public void show() {
System.out.println("name: " + name + " age: " + age + " sex: " + sex);
}
}
public class TestDemo {
public static void main(String[] args) {
Person person = new Person();
person.show();
}
}
- this关键字
this表示当前对象引用(注意不是当前对象). 可以借助 this 来访问对象的字段和方法。 - 代码块
使用 { } 定义的一段代码.
根据代码块定义的位置以及关键字,又可分为以下四种:
●普通代码块:定义在方法中的代码块。
●构造代码块:定义在类中的代码块(不加修饰符)。也叫:实例代码块。构造代码块一般用于初始化实例成员变量。
●静态代码块:使用static定义的代码块。一般用于初始化静态成员属性。
●同步代码块
注意事项
静态代码块不管生成多少个对象,其只会执行一次,且是最先执行的。
执行的先后顺序:
静态代码块执行完毕后, 实例代码块(构造块)执行,再然后是构造函数执行。
4. 内容重点总结
(1)一个类可以产生无数的对象,类就是模板,对象就是具体的实例。
(2)类中定义的属性,大概分为几类:类属性,对象属性。其中被static所修饰的数据属性称为类属性, static修饰的方法称为类方法,特点是不依赖于对象,我们只需要通过类名就可以调用其属性或者方法。
(3)静态代码块优先实例代码块执行,实例代码块优先构造函数执行。
(4)this关键字代表的是当前对象的引用。并不是当前对象