达内培训期间所学的知识|CGB2111开班第七天

构造方法 构造方法又称为构造器、构造函数
语法格式:
无参构造方法:
访问修饰符 类名(){
代码块;
}

public class HelloWorld{public HelloWorld(){ System.out.println("我是无参构造方法"); } }


全参构造方法:
访问修饰符 类名(参数列表){
代码块;
}
public class HelloWorld{public Student(String name){System.out.println("我是有参构造方法"); } }


【注意】
构造代码块没有返回值类型。
构造代码块的方法名必须和其所在类的类名保持一致。
构造方法如果没写,系统会默认会赠送一个无参构造方法。
如果已经写了,那么系统不再赠送一个无参构造方法。
构造方法可以重载,可以没有构造方法、可以有一个构造方法或者多个构造方法。
创建对象时,只要没赋值,那么,系统默认优先调用无参构造方法。
全参构造方法的参数必须包括类中所有的属性。

构造方法的作用:创建对象

每一个类中都会默认存在一个无参构造方法,每次new(实例化)对象时,都会自动触发这个类对应的无参构造方法来帮助开发者创建对象

构造代码块 位置:在类的内部,方法的外面
语法格式:{ 代码块 }
执行时间:每次创建对象时都会执行构造代码块,并且优先于构造方法执行。
作用:用于提取所有构造方法的共性功能

局部代码块位置:方法中
语法格式:{ 代码块 }
执行时间:对象调用包含局部代码块的方法时,局部代码块才会执行。
作用:用于控制局部变量的作用范围,变量的作用范围越小越好

继承 满足 “A is a B” 的关系,继承要求子类必须是父类的一种下属类型,依赖性非常强,强耦合。
继承是面向对象最显著的一个特征。
通过extends关键字来建立子类与父类的继承关系。
继承格式:子类 extends 父类。
【注意】
【达内培训期间所学的知识|CGB2111开班第七天】Java仅支持单继承,一个子类只能有一个父类,但是一个父类可以有多个子类。
子类可以继承父类所有非私有的成员。
子类可以有自己独特的成员。
继承具有传递性。


this关键字 可以在含参构造中通过this(); 调用无参构造。
局部变量遵守就近原则。
当成员变量与局部变量重名时,可以通过this关键字来指明成员变量。
【注意】
当一个构造方法使用this(); 调用另一个构造方法时,this(); 必须写在构造方法的第一行。
不能在同一个类中无参构造方法调用有参构造方法的同时,有参构造方法调用无参构造方法,否则会陷入死循环(调用是单向的,不能双向来回调用)。

super关键字 当父类的成员变量与子类的成员变量同名时,可以使用super关键字指定父类的成员变量。
1、子类在创建对象时,默认会先调用父类的构造方法。
2、原因是子类构造方法中的第一行默认存在super(); 表示调用父类的无参构造。
3、当父类没有无参构造时,可以通过super(); 方法调用父类的其他含参构造。
【注意】:
子类必须调用父类的一个构造方法,不论是无参还是含参,选一个即可。
构造方法不允许被继承。因为语法的原因,要求构造方法的名字必须是本类类名,不能在子类中出现一个父类名字的构造方法。

    推荐阅读