java构造方法,final,static

构造方法:

什么是构造方法:构建创造时用的方法,即就是对象创建时要执行的方法。既然是对象创建时要执行的方法,那么只要在new对象时,知道其执行的构造方法是什么,就可以在执行这个方法的时候给对象进行属性赋值。

构造方法不能继承,子类构造方法第一行默认有一个super(); 父类空参构造方法,

 

格式:

修饰符 构造方法名(){

}

体现:

构造方法没有返回值类型,也不需要返回值

构造方法名必须与类名相同

构造方法的细节:

1、一个类中可以有多个构造方法,多个构造方法是以重载的形式存在的

2、构造方法是可以被private修饰的,作用:其他程序无法创建该类的对象。

构造方法和一般方法的区别:

构造方法在对象创建时就执行了,而且只执行一次。

一般方法是在对象创建后,需要使用时才被对象调用,并可以被多次调用。

this:

构造方法之间的调用,可以通过this关键字来完成

this代表的是对象,具体代表哪个对象呢?哪个对象调用了this所在的方法,this就代表哪个对象。

在成员变量名前面加上this.来区别成员变量和局部变量

final :太监类

概念:final的意思为最终,不可变。final是个修饰符,它可以用来修饰类,类的成员,以及局部变量。不能修饰构造方法。

特点:final 修饰的类不可以被继承,但是可以继承其他类

final修饰的属性为常量 一次赋值 终身不变

被final修饰的方法不能重写

             引用类型的变量值为对象地址值,地址值不能更改,但是地址内的对象属性值可以修改

Static 静态:

特点:被static修饰的成员变量属于类,不属于这个类的某个对象。(也就是说,多个对象在访问或修改static修饰的成员变量时,其中一个对象将static成员变量值进行了修改,其他对象中的static成员变量值跟着改变,即多个对象共享同一个static成员变量)

注意事项:

静态内容是优先于对象存在,只能访问静态,不能使用this/super。静态修饰的内容存于静态区

静态不可以访问非静态,非静态可以访问静态

变量和方法编译和运行都看父类

main方法为静态方法仅仅为程序执行入口,它不属于任何一个对象,可以定义在任意类中。

l   被static修饰的成员可以并且建议通过类名直接访问。

访问静态成员的格式:

类名.静态成员变量名

类名.静态成员方法名(参数)

对象名.静态成员变量名       ------不建议使用该方式,会出现警告

对象名.静态成员方法名(参数)    ------不建议使用该方式,会出现警告

定义静态常量:

public static final修饰的变量来完成定义。此时变量名用全部大写,多个单词使用下划线连接。

定义格式:

public static final 数据类型变量名 = 值;

当我们想使用类的静态成员时,不需要创建对象,直接使用类名来访问即可。

System.out.println(School.SCHOOL_NAME);

School.method(); // 调用一个静态方法

注:static无法和adctract、一起使用

原文地址:https://www.cnblogs.com/hhthtt/p/10488045.html