Java常用关键字简介

Java常用关键字的讲解

 

1、类的访问控制修饰符

(1)类的访问控制修饰符有四种:public、protected、默认(不写)、private。

(2)非内部类只能用public和默认两种访问控制修饰符修饰。

(3)类的成员四种访问控制修饰符都可以使用。

(4)public修饰类表示该类能被工程中所有类可见;修饰成员表示其他能访问此类的类都可以访问该成员。

(5)默认(不写)表示包友好的,类采用默认访问控制修饰符表示该类是包友好的(同一个包内可访问);修饰成员表示能访问到此类的类若在同一包内则可访问该成员。

(6)private表示私有的,多用于修饰类的成员,表示仅在此类中可以访问。这里不多介绍。

(7)protected表示受保护的,protected 表明被它修饰的成员变量为保护类型,在同一个包里和 public 类型是一样的,也是能够访问到的。但是如果在不同包里的 protected 类型的成员变量就只能通过子类来访问(百度百科)。

在子类中的方法如果重载了父类的方法,那么该方法的可见级别应更高或者相同,如父类中的方法是protected,那么子类中方法可以是public,但不能是private。

 

2、this

this用于代指当前对象。如:一个类调用自己的成员方法可以在方法前加上.this(其实一般情况下都省略了)。

 

3、super

(1)super可用于调用父类构造方法。

(2)super可用在子类中代指父类对象,用于访问在子类中隐藏的父类字段和方法。

 

4、static

(1)static能修饰类、方法、变量、代码块等。但是static不允许修饰局部变量。

(2)注意:类的构造函数也是静态的,虽然没有用static关键字修饰。

(3)static方法就是没有this的方法。在static方法内部不能调用非静态方法,反过来是可以的。而且可以在没有创建任何对象的前提下,仅仅通过类本身来调用static方法。这实际上正是static方法的主要用途。

(4)static常用于优化性能,但是也不能滥用,比如static修饰的变量在类加载的时候就会初始化,但是本来一个方法只使用一次就没用了,可以随对象销毁而被回收了,但是你用static来修饰它就会一直存在,反而会影响性能,所以使用static前要考虑到是否有必要,否则会适得其反。

 

5、final

(1)final能够修饰类(非抽象类,原因。。What?你连这都不知道?)、方法(非抽象类中的方法)、变量(同前面的。。,这里和static区别开来,static不能修饰局部变量,但是final可以)。

(2)final修饰的类不能被继承(处于保护,避免方法被修改),其方法被隐式指定为final。所以当指定一个类为final时要确定以后一定不会再继承该类。

(3)final修饰的方法不能被覆盖。

(4)final最常用的是用来修饰变量,用final修饰的变量一但被赋值就不能改变。如果是非引用型变量则表示一但赋值就不能再赋予新值;如果是引用型变量则表示一但初始化便不能再指向新的对象。

猜你喜欢

转载自xq8866.iteye.com/blog/2307531