static的用法:
static叫做静态的,共享的,所属于类的,类被加载的时候会优先加载静态内容
如何在静态内容中调用非静态内容:
1、 在非静态内容中加static
2、 创建非静态内容所属对象,通过对象调用 对象.
在非静态内容中调用静态方法
1、直接调用 通过 类名.
什么时候类会被加载?
1、 调用当前类中的静态方法
2、 创建当前类的实例对象的时候
(2)构造器
在类中用来创建对象的那个的方法称为构造器、构造方法、构造函数
构造器是一个特殊的方法:
a、 方法名称和类名相同
b、 方法中无返回值
c、 在方法中无需显示return的返回数据
d、 构造器是允许方法重载的
e、 所有类默认情况下都会存在一个无参构造器,如果在当前类中显示声明了构造器后,无参构造器就不存在了
构造器的作用就是用来创建对象的
构造器的调用只能通过new关键词去调用
(3)this 的用法
this.
当前对象的-> 谁在调用 代表谁
要区分同名变量、局部变量、成员变量时不可以省略
this()
构造器之间的互相调用
this()一定要在构造器首行
(4)引用类型经过方法
基本数据类型经过方法之后 其值不变。值传递
引用数据类型进过方法之后 其值会变,值传递(地址值)
通过两个变量指向了同一个内存地址,一个对内存进行改变 另一个可见
(5)继承
在一定程度上提高了代码的复用性
子类 extends 父类 子类拥有父类中的所有的属性以及方法
注意事项:
java中只支持单继承 一个子类有且只能有一个父类
多继承好还是单继承好
多继承 :极大提高代码复用性 但是代码调用的复杂度也提升了
单继承:代码调用的复杂度比较低,但是复用性比较有限
(6)super的用法
当创建子类对象时 会先执行父类的构造器
super.
当前对象的父类对象的
Super.和this.的用法是重复的 都可以省略
如果子类和父类中出现了同名变量或者是同名方法 super. 不可省略
super()
调用父类的构造器,默认情况下调用的父类的无参构造器(默认情况下每个类中都存再一个无参构造器 哪怕不写 也存在)
当父类中存在其他构造器时,无参构造器不存在,此时如果再子类中没有通过super()显示的指定调用的构造器 会导致程序报错。
在构造器中this()和super()不能同时出现,如果两个都不存在,默认是存在的super()。
(7)方法重写
父类的功能不能满足子类的需求。子类在父类的基础上进行了扩展。就需要方法重写
在子类的方法上加入@Override 注解 如果不报错 证明是重写
重写的前提:
一定要发生继承关系。并且子类的方法名和父类的方法名同名
参数列表要一样
返回类型要一样
(8)封装
本类 同包下子类 同包下无关类 异包子类 异包下无关类
public T T T T T
protected T T T T F
默认的 T T T F F
private T F F F F
修饰符的作用是用来屏蔽一些底层的实现逻辑,降低调用者(程序员)的复杂度。
确保当前类更加安全。
修饰符可以修饰 类
属性(成员变量) :
避免随意.属性,修改获取属性 造成数据不安全
如果用private修饰的话 一定要保证对外提供get、set方法让外部课件
方法
屏蔽底层调用细节,降低调用者(程序员)的复杂度 使得代码更加健壮