构造方法和final,static关键字

1   构造方法介绍

需要在创建对象的同时明确对象的属性值

l  构造方法的格式:

修饰符 构造方法名(参数列表)

{

}

l  构造方法的体现:

n  构造方法没有返回值类型。也不需要写返回值。因为它是为构建对象的,对象创建完,方法就执行结束。

n  构造方法名称必须和类名保持一致。

n  构造方法没有具体的返回值。

2     子父类中构造方法的调用

在创建子类对象时,父类的构造方法会先执行,因为子类中所有构造方法的第一行有默认的隐式super();语句。

格式:

调用本类中的构造方法

this(实参列表);

调用父类中的空参数构造方法

super();

调用父类中的有参数构造方法

super(实参列表);

3   final的特点

1. final修饰类不可以被继承,但是可以继承其他类。

2. final修饰的方法不可以被子类重写,但父类中没有被final修饰方法,子类重写后可以加final。

3.final修饰的变量称为常量,这些变量只能赋值一次。而且终身不。

4.修饰成员变量,需要在创建对象前赋值,否则报错。(当没有显式赋值时,多个构造方法的均需要为其赋值。)

4     static特点

被static修饰的成员变量属于类,不属于这个类的某个对象。静态不可以访问非静态,但是非静态可以访问静态。

复制代码
public class Student {
    static String name;
    static String schoolName;
    public static String getName() {
        return name;
    }
    public static void setName(String name) {
        Student.name = name;
    }
    public static String getSchoolName() {
        return schoolName;
    }
    public static void setSchoolName(String schoolName) {
        Student.schoolName = schoolName;
    }
    
}

public class Test {
    public static void main(String[] args) {
        Student s=new Student();
        s.setName("张三");
        //静态不可以访问非静态,但是非静态可以访问静态    
    }
}
原文地址:https://www.cnblogs.com/lxzwhite/p/10694508.html