1.访问修饰词:4个
判断一个类的成员(包括成员变量和成员方法)能否被其他类所访问,主要取决于该成员的修饰词。
权限:public>protected>default>private
private:只能在本类中调用。
default(即没有修饰词):具有“包访问权”(包访问权:同一个包中的类可以访问)。
protected:具有“包访问权”和“继承访问权”(继承访问权:该类的子类可以访问)。
public:所有类都可以访问。
2.final关键字(最终的):
final关键字的基本用法及特点:
1.可以修饰类->特点:被final修饰的类,不能被继承(extends)。
2.可以修饰方法->特点:被final修饰的方法,不能被重写(override)
3.可以修饰变量->特点:被final修饰的变量是个常量,只能被赋值一次,赋值后值不再改变。
常量的标准写法:public static final 数据类型 大写的常量名 = 常量值
例:public static final String NAME=”jack” ;
3.static关键字:
static关键字的用法及特点:
1.static可以修饰成员变量和成员方法。
2.静态资源可以直接通过类名调用。
3.静态资源全局唯一,全局共享。
4.静态资源只能调用静态资源,非静态资源可以调用静态资源和非静态资源。
5.静态资源随着类的加载而加载,优先于对象在内存中加载。所以不能和this/super关键字连用。
(this关键字(这个):表示在一个类里,相当于this帮忙创建了一个本类对象。再用本类对象调用本类其他资源,比如:成员变量this.age,构造方法this(含参构造方法的参数);等。
super关键字:在子类中,调用父类的功能。相当于super为父类创建了一个对象,用父类方法调用父类属性。)
4.静态变量和实例变量(成员变量)的区别:
1、所属不同
静态变量属于类,所以也称为类变量。
成员变量属于对象,所以也称为实例变量
2、内存中位置不同
静态变量存在静态区(静态区:内存在程序编译时就已经分配好,在程序的整个运行期间都存在。)
成员变量存在堆内存(new对象时在堆中分配空间),
局部变量存在栈内存(new对象只出现方法申明,只有调用方法时,才会在栈中为局部变量分配空间)。
3、内存出现时间不同
静态变量随着类的加载而加载,随着类的消失而消失。
成员变量随着对象的创建而出现,随着对象的消失而消失。
4、调用方式不同
静态变量可以通过类名调用,也可以通过对象调用。
成员变量只能通过对象调用。