局部变量只能被final修饰符修饰 不能被public 等修饰 成员变量是系统默认值 局部变量没有系统默认值只能手动赋值
this调用类方法和成员变量只能在方法中。
新初始化的两个对象是不相等的,地址是重新分配的
import 包名.* 倒入包中的所有类 import static 包名 .类.方法名称
final 修饰变量 的值是不能改变的,必须进行初始化。
final修饰的局部变量的可以只声明不初始化 但是被赋值的局部变量一旦被赋值就不能修改了 final修饰的成员变量必须初始化
final修饰的方法能被该类的子类继承但不能重写该方法
public 能在任何包中访问 包括子类
private除了本类任何类都不能访问
default 在同一个包中可以访问 相当public但在不同包中类和子类没有继承该成员变量是访问不到的
protect 不同包里只能通过子类访问
JAVA中extends 与implements有啥区别?
1. 在类的声明中,通过关键字extends来创建一个类的子类。一个类通过关键字implements声明自己使用一个或者多个接口。
extends 是继承某个类, 继承之后可以使用父类的方法, 也可以重写父类的方法; implements 是实现多个接口, 接口的方法一般为空的, 必须重写才能使用
2.extends是继承父类,只要那个类不是声明为final或者那个类定义为abstract的就能继承,JAVA中不支持多重继承,但是可以用接口 来实现,这样就要用到implements,继承只能继承一个类,但implements可以实现多个接口,用逗号分开就行了
instanceof 用法为 对象的引用 instanceof 类或接口 如果返回true说明对象的引用是该对象所指的类或接口
重写(override)又名覆盖:
1.不能存在同一个类中,在继承或实现关系的类中;
2. 名相同,参数列表相同,方法返回值相同,
3.子类方法的访问修饰符要大于父类的。
4.子类的检查异常类型要小于父类的检查异常。
重载(overload)
1.可以在一个类中也可以在继承关系的类中;
2.名相同;
3.参数列表不同(个数,顺序,类型) 和方法的返回值类型无关。