类的每一个成员(包括变量、方法和构造器)都有一个访问修饰符,用于判断谁可以访问成员。Java为类的成员提供了四种访问级别,按照访问权限由大到小排列如下:
■公开访问级别:使用public关键字修饰。用public关键字修饰的成员对外公开,即公开成员可以被任何其他对象访问。
■受保护访问级别:使用protected关键字修饰。受保护的成员可以被同一包中的类所访问,还可以被类的子类所访问,不管子类是在那个包中。
■默认访问级别:没有访问修饰符。默认访问级别的成员可以被同一包中的其它类所访问。
■私有访问级别:使用private关键字修饰。它是四种访问修饰符中级别最低的。私有成员只有类本身可以访问,不对外公开。
类的本身也有访问修饰符。但是类的访问修饰符只有共有的(用关键字public声明)和默认的(无访问修饰符关键字)两种。
封装是使类中的成员变量都是private,并且提供public方法访问这些成员变量的技术。如果一个成员变量被声明为private,那么它不能被其它类访问,从而隐藏了类中的成员变量。因此,封装也被称为数据隐藏。封装有很多好处,包括:
■类的成员变量可以成为只读或者只写的。
■类可以对存储在其成员变量中的内容有一个整体的控制。
■类的用户不需要知道类是如何存储数据的。
继承、封装、多态、抽象是面向对象编程的四大基础概念。
用get和set命名访问器方法和修改器方法是一个广泛使用的并且推荐使用的Java命名惯例。
关键字static允许成员变量或方法不与类的特定实例相关联。通关关键字static声明的成员变量或方法可以被认为是全局的,任何其它类可以直接访问成员变量或调用静态方法,而不需要该类的一个实例。
类的静态成员经常被称为类成员,因为静态成员与类相关,而不是类的某个实例。非静态成员变量和方法经常被称为实例成员,因为非静态成员变量和方法只存在于类的实例中。
静态成员变量和方法不能使用引用来访问,因为引用是指类的实例,而我们不需要类的实例来访问静态成员。访问静态成员要使用类名。
静态初始化块在类装载时执行。实例初始化块在类被实例化时执行,在构造器调用之间调用。
Java中的内部类可以分为四种,分别是:①静态内部类(作为类的静态成员,存在于某个类的内部);②成员内部类(作为类的成员,存在于某个类的内部);③局部内部类(存在于某个方法内部的类);④匿名内部类(存在于某个类的内部,但是无类名的类)。
super关键字
跟this是一对,在用法上很相似
suoer. (当前对象的父类对象)
this. (当前对象)
super()调用当前父类的指定方法
this ()调用当前的
super()跟this()一样只能写在构造方法中,并且只能写在第一句
super()主要用在重写的时候调用父类的方法
this ()调用的是子类的方法
this关键字
技能访问父类公有的也能访问子类公有的
但super只能访问父类共有的
所以说目前super是小于this的
final关键字
当final修饰一个方法的时候该方法不能被重写
当final修饰一个累的时候该类不能被继承,这个类叫最终类
当final修饰一个变量的时候该变量不能修改
string这个类是final