java封装 继承 多态 重写 重载
2017-06-14 00:05
405 查看
继承
在java中继承的关键字是:extends
继承可以获得父类的属性和方法而且子类还可以具有自己的特殊的功能。
** 例:这是一个圆
public class Circle {
}
圆有半径的属性
public class Cylinder extends Circle{
private double hight;
public Cylinder(double r,double h) {
super(r);
hight=h;
}
这是一个圆柱,圆柱继承了圆,圆柱也有了半径的属性,而且圆柱还有自己特殊的高
** 在java中支持单继承,一个子类只能有一个父类,但是一个父类可以有多个子类。
不支持多继承的原因:如果两个父类多同样的方法,子类继承之后,调用的时候,会出现不确定性。不知道调用哪一个
java还支持多重继承:
例如:A extends B,B extends C
** this和super
当局部变量和成员变量同名用this
当子类变量和父类变量同名用super
* 多态
一种事物多种形态
例如:a=new Dog();
父类的引用指向子类的对象
* 多态分为编译时和运行时
例如:Animal a=new Dog();
编译时:javac 编译器认为他是一个动物,因此只能调用动物的方法
运行时:java 运行时又会找具体的实现类(Dog),就是会认为他是一条狗
* 多态在之后在写方法的时候,参数类型一般是父类的,如果调用了子类特有方法,只能是子类的。
* 封装
封装是方法选择性的暴露
有权限修饰符
![](https://img-blog.csdn.net/20170613235336475?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvd3ExMDUxODUyNTcy/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast)
重载(overload)
在同一个类中方法名相同,但是方法中的参数列表不同
重写(override)
在重写父类方法的时候:要注意返回值、方法名、参数列表必须和父类的一致。
父类中的功能不满足子类的需求的时候,需要重写
在重写的时候子类修饰符方法的权限一定要大于父类修饰符方法的权限,例如:父类是默认的(default)子类必须大于这个修饰符,子类(public)的。
重写也叫覆盖。
在java中继承的关键字是:extends
继承可以获得父类的属性和方法而且子类还可以具有自己的特殊的功能。
** 例:这是一个圆
public class Circle {
private double radius; public Circle(double r){ this.radius=r;
}
圆有半径的属性
public class Cylinder extends Circle{
private double hight;
public Cylinder(double r,double h) {
super(r);
hight=h;
}
这是一个圆柱,圆柱继承了圆,圆柱也有了半径的属性,而且圆柱还有自己特殊的高
** 在java中支持单继承,一个子类只能有一个父类,但是一个父类可以有多个子类。
不支持多继承的原因:如果两个父类多同样的方法,子类继承之后,调用的时候,会出现不确定性。不知道调用哪一个
java还支持多重继承:
例如:A extends B,B extends C
** this和super
当局部变量和成员变量同名用this
当子类变量和父类变量同名用super
* 多态
一种事物多种形态
例如:a=new Dog();
父类的引用指向子类的对象
* 多态分为编译时和运行时
例如:Animal a=new Dog();
编译时:javac 编译器认为他是一个动物,因此只能调用动物的方法
运行时:java 运行时又会找具体的实现类(Dog),就是会认为他是一条狗
* 多态在之后在写方法的时候,参数类型一般是父类的,如果调用了子类特有方法,只能是子类的。
* 封装
封装是方法选择性的暴露
有权限修饰符
重载(overload)
在同一个类中方法名相同,但是方法中的参数列表不同
重写(override)
在重写父类方法的时候:要注意返回值、方法名、参数列表必须和父类的一致。
父类中的功能不满足子类的需求的时候,需要重写
在重写的时候子类修饰符方法的权限一定要大于父类修饰符方法的权限,例如:父类是默认的(default)子类必须大于这个修饰符,子类(public)的。
重写也叫覆盖。
相关文章推荐
- Java之封装、继承、多态(重载、重写)
- java的重写、重载以及继承、多态和封装
- 类、对象、继承、封装、多态、方法的重载和重写、Java的访问修饰符与其它关键字
- JAVA面试题解惑系列(九)——继承、多态、重载和重写
- JAVA面试题解惑系列(九)——继承、多态、重载和重写
- JAVA面试题解惑系列(九)——继承、多态、重载和重写
- java笔记之封装、继承、重写、多态以及类型转换
- Java基础温习 (6)重载,重写以及继承,多态的区别
- JAVA面试题解惑系列(九)――继承、多态、重载和重写
- java笔记之封装、继承、重写、多态以及类型转换
- 重载,重写,封装,继承,多态 等。
- java 继承 多态(override->重写(=覆盖)、overload->重载、polymorphism -> 多态)
- JAVA面试题解惑系列(九)——继承、多态、重载和重写
- Java中继承、多态、重载和重写介绍
- JAVA面试题解惑系列(九)——继承、多态、重载和重写
- JAVA面试题解惑系列(九)——继承、多态、重载和重写
- JAVA面试题解惑系列(九)——继承、多态、重载和重写
- JAVA面试题解惑系列(九)——继承、多态、重载和重写
- 构造,封装,继承,多态,重载,重写,接口
- JAVA——继承、多态、重载和重写---转