Java杂谈之继承与多态
来源:互联网 发布:开淘宝店的创业计划书 编辑:程序博客网 时间:2024/06/05 22:42
Java的特性包括抽象,继承,多态,封装
本片博客主要介绍Java的继承与多态的一些特性
继承注意点:
1.一个类的直接父类只能有一个
2.子类继承父类所有的属性,纵使是私有的属性也是能继承过来,能不能用另说
3.当子类与父类拥有相同的属性时,默认将父类的属性隐藏掉,并没有覆盖掉,但用的
是自己的属性
4.方法的继承,方法的覆盖(重写)
多态的注意点:
1.多态的两种表现形式:重写和重载(判断是否重载不看返回值)
2.重写--运行时多态;重载--编译时多态
以下是一个实例:
Person--父类
Student--子类
Test--测试
Person类代码:
package JavaInheritancePolymorphic;public class Person {private String name;private int age;public void sayHello(){System.out.println("你好");}public void introduce(){System.out.println("我是人类");}}
Student类代码:
package JavaInheritancePolymorphic;public class Student extends Person {private String stuNo;private int age;public void sayHello(String msg){System.out.println(msg);}public void introduce(){System.out.println("我是学生");}public void goHome(){}}
Test代码:
package JavaInheritancePolymorphic;//一个类的直接父类只能有一个//属性的继承//子类继承父类所有的属性,纵使是私有的属性也是能继承过来,能不能用另说//当子类与父类拥有相同的属性时,默认将父类的属性隐藏掉,并没有覆盖掉,但用的是自己的属性//方法的继承,方法的覆盖(重写)//多态的两种表现形式:重写和重载(重载不看返回值)//重写--运行时多态;重载--编译时多态public class Test {public static void main(String[] args) {Student stu = new Student();//编译的时候就已经知道sayHello调用的是哪一个sayHello方法stu.sayHello("Hello Java!");stu.introduce();//s是Person的引用//s的实际的对象是Student对象//s编译的时候以Person身份编译的//s运行的时候以Student身份运行的Person s = new Student();s.introduce();//虽然Studen类中有goHome()方法,却不能直接"."出来//直接写s.goHome()会出错((Student)s).goHome();System.out.println(stu);}}
其中Test包含着多态的体现:
1.Student stu = new Student();
//编译的时候就已经知道sayHello调用的是哪一个sayHello方法
stu.sayHello("Hello Java!");
stu.introduce();
2.//s是Person的引用
//s的实际的对象是Student对象
//s编译的时候以Person身份编译的
//s运行的时候以Student身份运行的
Person s = new Student();
s.introduce();
//虽然Studen类中有goHome()方法,却不能直接"."出来
//直接写s.goHome()会出错
((Student)s).goHome();
结果截图:
0 0
- Java杂谈之继承与多态
- Java之继承与多态
- Java之继承与多态
- Java继承与多态之转型
- Java杂谈之接口和继承的经典案例
- Java杂谈之static与final
- java练手题之三类继承与多态
- 黑马程序员-------java学习笔记之继承与多态
- Java--面向对象之继承与多态
- JAVA基础-面向对象之继承与多态
- Java核心之接口、继承与多态
- java继承与多态之面向对象
- java继承与多态之this和super
- java继承与多态之抽象类和接口
- java 继承与多态
- Java 继承与多态
- java 继承与多态
- Java继承与多态
- 关于Hibernate中 @ForceDiscriminator/@DiscriminatorOptions(force=true)的使用
- MFC printf
- 使用c++ 编写mapreduce
- FormatMessage函数的用法
- Swift初窥----Playground
- Java杂谈之继承与多态
- 从hadoop框架与MapReduce模式中谈海量数据处理
- 解决ListView滑动时卡的问题,实现异步加载图片解决
- Android Handler 异步消息处理机制的妙用 创建强大的图片加载类
- HDOJ 1233 还是畅通工程 【最小生成树】+【prim】
- POJ 3318 Matrix Multiplication
- curl mutil
- 迷障(杭电2570)
- VMware-workstation-full-10.0.2 注册码