This commit is contained in:
xiongraorao 2018-09-06 10:00:51 +08:00
parent d7d4bdc084
commit d77e9f903b
5 changed files with 127 additions and 1 deletions

View File

@ -0,0 +1,17 @@
package com.raorao.java.oop;
/**
* 子类.
*
* @author Xiong Raorao
* @since 2018-09-06-9:27
*/
public class Children extends Father {
int sum = 2;
int chlid = 3;
public void say() {
System.out.println("this is children say!");
}
}

View File

@ -0,0 +1,16 @@
package com.raorao.java.oop;
/**
* 测试.
*
* @author Xiong Raorao
* @since 2018-09-06-9:28
*/
public class Client {
public static void main(String[] args) {
Father f = new Children();
System.out.println(f.num);
f.say();
}
}

View File

@ -0,0 +1,16 @@
package com.raorao.java.oop;
/**
* 父类.
*
* @author Xiong Raorao
* @since 2018-09-06-9:26
*/
public class Father {
int num = 1;
public void say(){
System.out.println("this is father say!");
}
}

View File

@ -47,6 +47,11 @@
- [静态内部类](#静态内部类) - [静态内部类](#静态内部类)
- [java 代码块](#java-代码块) - [java 代码块](#java-代码块)
- [代码块执行顺序](#代码块执行顺序) - [代码块执行顺序](#代码块执行顺序)
- [java 多态](#java-多态)
- [多态实现的几种方式](#多态实现的几种方式)
- [向上转型](#向上转型)
- [向下转型](#向下转型)
- [结论](#结论)
- [参考文档](#参考文档) - [参考文档](#参考文档)
<!-- /TOC --> <!-- /TOC -->
@ -964,6 +969,76 @@ Iterator it = s.iterator();得到的it的真正类型是KeyIterator是Iterato
静态代码块 > 构造代码块 > 构造函数 静态代码块 > 构造代码块 > 构造函数
# java 多态
多态体现为父类引用变量可以指向子类对象:父类类型 变量名 = new 子类类型();
1、多态的前提是必须有子父类关系或者类实现接口关系否则无法完成多态。
2、在使用多态后的父类引用变量调用方法时会调用子类重写后的方法。
## 多态实现的几种方式
1、普通父类多态
``` java
class A{
}
class B extends A{
}
A a = new B();
```
2、抽象类多态
``` java
abstract class A{
}
class B extends A{
}
A a = new B();
```
3、接口多态
``` java
interface A {
}
class B implements A{
}
A a = new B();
```
**同一个父类的方法会被不同的子类重写。在调用方法时,调用的为各个子类重写后的方法。**
## 向上转型
父类类型 变量名 = new 子类类型();
## 向下转型
子类类型 变量名 = (子类类型) 父类类型的变量;
Person p = new Student();
Student stu = (Student) p
注意:如果是直接创建的父类对象,是无法向下转型为子类对象的。
## 结论
对于成员变量,看编译(静态)类型;
对于成员方法,看运行(动态)类型;
# 参考文档 # 参考文档

View File

@ -51,7 +51,9 @@ Intel | 8.23 | 8.23(新投递) | 电面 | 8.24一面
Keep | 8.31 | 8.31(新投递) Keep | 8.31 | 8.31(新投递)
小红书 | 8.31 | 8.31(新投递) 小红书 | 8.31 | 8.31(新投递)
中国银联 | 9.3 | 9.3(官网新投递) 中国银联 | 9.3 | 9.3(官网新投递)
三七互娱 | 9.5 | 9.5(官网新投递)
去哪儿网 | 9.5 | 9.5(官网新投递)
搜狗 | 9.5 | 9.5(官网新投递)
# 2 复习内容 # 2 复习内容