一、Java面向对象的三大特性
记住面向对象三大特点:封装,继承,多态
抽象是面向对象程序设计的方法, 把一组对象相同的属性与行为抽象为类
1.1封装
封装有两层含义:,一是可以把数据和操作封装在一个结构(类,接口)中;
二是通过封装可以屏蔽内部实现细节,提高数据的安全性. 如果不特殊说明封装指第二含义。
【思考】
为什么封装?
提高数据的安全性
如何封装?
private私有化字段,提供getter/setter实现对字段的访问
1.2继承
1)语法:
class 子类 extends 父类{
}
子类继承了父类就自动拥有了父类的实例变量与实例方法
2)注意
a.Java中类只支持单继承, 一个类最多只能有一个父类
b.静态成员不存在继承问题, 在父类中定义的静态成员就通过父类名访问,在子类中定义的静态成员就通过子类名访问 (谁定义的归谁调用)
c.构造方法不能被继承, 子类创建对象要调用子类构造方法, 在子类构造方法体执行前,系统会先执行父类的构造方法 , 默认情况下调用父类的无参构造,如果父类没有无参构造系统报错, 在子类构造方法体中也可以通过super()显示调用父类的构造方法
d.子类从父类继承的实例方法如果不能满足子类需求,在子类中可以重写该方法
以上就是子类创建对象程序的执行顺序,还没有提到静态代码块
3)super关键字用途:
在子类构造方法中通过super()显示调用父类的构造方法
在子类类体中通过super访问从父类继承的成员
【注意:】
super()在子类构造方法体中必须作为第一条语句
super跟父类对象没有关系,仅仅表示这个成员是继承来的
三、访问权限
1)修饰符修饰的类的访问权限 public >protercted>默认的>private
使用public修饰的类就是公共类, 公共类可以在其他包中使用
没有使用public修饰的类只能在当前包中使用
privatet是私有的 只能在当前类中访问
啰嗦一下吧:
2)类成员的访问权限
如果要在任意位置都可以访问到,就public修饰为公共的
如果只想在当前类与派生类中使用,就protected修饰为受保护的
如果只想在当前包中使用就默认
如果只想自己用就private私有的
3) 方法覆盖(重写)的规则
方法签名必须相同
方法返回值类型可以相同,也可以是子类型
访问权限可以相同,也可以更大
抛出的异常,可以相同,也可以更小
在实际应用中,子类 重写后方法声明部分一般不变, 可能变化的是把访问权限由protected提升为public。
JavaSe 第三天学习,加油,晚安了~~~~~,