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 父类。

【注意】

        Java仅支持单继承,一个子类只能有一个父类,但是一个父类可以有多个子类。

        子类可以继承父类所有非私有的成员。

        子类可以有自己独特的成员。

        继承具有传递性。

this关键字

可以在含参构造中通过this();调用无参构造。

局部变量遵守就近原则。

当成员变量与局部变量重名时,可以通过this关键字来指明成员变量。

【注意】

        当一个构造方法使用this();调用另一个构造方法时,this();必须写在构造方法的第一行。

        不能在同一个类中无参构造方法调用有参构造方法的同时,有参构造方法调用无参构造方法,否则会陷入死循环(调用是单向的,不能双向来回调用)。

super关键字

 当父类的成员变量与子类的成员变量同名时,可以使用super关键字指定父类的成员变量。

1、子类在创建对象时,默认会先调用父类的构造方法。
2、原因是子类构造方法中的第一行默认存在super();表示调用父类的无参构造。
3、当父类没有无参构造时,可以通过super();方法调用父类的其他含参构造。

【注意】:

        子类必须调用父类的一个构造方法,不论是无参还是含参,选一个即可。
         构造方法不允许被继承。因为语法的原因,要求构造方法的名字必须是本类类名,不能在子类中出现一个父类名字的构造方法。

你可能感兴趣的:(达内培训期间所学的知识,java,后端,开发语言)