java 小结,内容面向对象上
关于重载
重载:如果同一个类中包含了两个或两个以上方法的方法名相同,但是形参列表不同,则称方法为重载。
比如计算圆和三角形的面积,都同时用area方法计算,这个时候就可以重载。
以下为代码
1 | package hello; |
关于隐藏和封装
访问控制符,拉的第一个可能略有点丑。。。
private | default | protected | public | |
---|---|---|---|---|
同一个类中 | V | V | V | V |
同一个包中 | V | V | V | |
子类中 | V | V | ||
全局范围内 | V | |||
这个是控制符的访问级别 |
关于封装:指的是将对象的状态信息隐藏在对象内部,不允许外部程序直接访问对象内部信息,而是通过方法来实现对内部信息的操作和访问。
以下是一个关于封装的代码
1 | package hello; |
关于构造器
一般使用构造器来在创建对象时执行初始化,比如,以下,这样可以更好的实现封装
1 | package hello; |
关于继承
java的继承具有单继承的特点,即每个子类只有继承一个父类
以下是继承的实例,
示例1:
代码:
1 | package hello; |
子类继承父类示例2:
可以调用父类的构造器,来初始化
1 | package win_java; |
调用父类构造器来初始化
1 | package hello; |
多态
java引用变量有两个类型:一个是编译时类型,一个是运行时类型。编译时类型由声明该变量时使用的类型决定,而运行时类型由实际赋给该变量的对象决定。如果编译时类型和运行时类型不一致时出现多态现象,得注意。
1 | package hello; |
组合实现复用两种方式吧
way1
1 | package hello; |
way2
1 | package hello; |
抽象类
抽象方法必须使用abstract修饰符来定义,抽象类可以没抽象方法
注意:
总结就是:抽象类可用有得有失来总结,得就是,抽象类可以包含抽象方法,失就是抽象类不能用于创建实例。
抽象类示例
示例1
代码:
1 | package hello; |
示例2
代码:
1 | package hello; |
基础概念还是得多用,实际操作可能会出现不同的意想不到的结局,比如同一个package内不能存在名字相同的类,比如在同一个class 中不能用public修饰的细节,路漫漫其修远兮。。。bug慢慢理。。。