2.Java语言的面向对象特征 1.对象模型:继承 (3)采用基于继承的模型,还是基于指派的模型? Java是基于继承的模型 (4)允许多重继承?还是只允许单继承? Java中类允许单继承和多重继承; 5 class Person t 在单继承中,每个类可以有 public Person( 多个派生类,但是每个派生 9} 类只能有一个基类,从而形 class Man extends Person 12e 成树形结构; public Man oi 图5单继承实例
2. Java语言的面向对象特征 1. 对象模型:继承 – (3) 采用基于继承的模型,还是基于指派的模型? – Java是基于继承的模型 – (4) 允许多重继承?还是只允许单继承? – Java中类允许单继承和多重继承; 在单继承中,每个类可以有 多个派生类,但是每个派生 类只能有一个基类,从而形 成树形结构; 图5 单继承实例
2.Java语言的面向对象特征 多重继承实例 4 class At 5e public void fun1o) System. out. println("A-->public void fun1()") 6789 31 public class Testi e public void fun() 32 public static void main(String[] args)( System. out. println("A-->public void fun()") C c=new CO; c fund C fun30; 11456 ss B extends At 49 public void fun1o[ System. out. println("B-->public void fun1()"); 17@ public void fun30) System. out. printIn("B-->public void fun30)"); R Problems Javadoc Le) Declaration Search 2 Console X <terminated> test Java Application] C:\ Program Files Vava'yire1.8.0_101\bi 22 class C extends Bi 23 public void fun1()t C-->public void fun1o System. out. println("C-->public void fun1()"); B-->public void fun30) A-->public void fun() 260 public void fun4O)( System. out. println ("C-->public void fun()") 29}
2. Java语言的面向对象特征 多重继承实例
2.Java语言的面向对象特征 1.对象模型:继承 (4)允许多重继承?还是只允许单继承? Java中接口允许多继承; 3 public class A implements Football, Hockey oVerride public interface Football i public void home GoalScoredot public void home TeamScored (int points 678 / TODo Auto-generated method stub public void visiting TeamScored (int points); 9- @Override public void visitingGoalScored( / TODO Auto-generated method stub 21456 e oVerride public interface Hockey i public void home TeamScored (int points) public void home GoalScoredO; public void visitingGoalScoredo: 0123 public void visitingTeamScored (int points)i / TODO Auto-generated method stub
2. Java语言的面向对象特征 1. 对象模型:继承 – (4) 允许多重继承?还是只允许单继承? – Java中接口允许多继承;
2.Java语言的面向对象特征 1.对象模型:多态 多态:是指同样的消息被不同类型的对象接收 时导致不同的行为。 类属 方法覆盖 多态 重载 同名函数
2. Java语言的面向对象特征 1. 对象模型:多态 – 多态:是指同样的消息被不同类型的对象接收 时导致不同的行为。 多态 类属 重载 同名函数 方法覆盖
2.Java语言的面向对象特征 1.对象模型:多态 5 class aaat (1)类属:方法覆盖 double f(double x, double y)[ return x*yi 9 19 11 class bbb extends aaat 12e double f(double x, double y)t return x+y; 覆盖实现多态性:通过子类2 16 对父类的重定义来实现 17 public class At 18. public static void main(String args[])[ 方法的参数个数,类型,顺 bbb b=new bbb o; System. out. println(b f(4, 6)); 序要完全相同 22 R Problems Javadoc Le Declaration Search 5 consol. <terminated>A Java Application] C: Program FilesVava jre180_1
2. Java语言的面向对象特征 1. 对象模型:多态 – (1) 类属:方法覆盖 覆盖实现多态性:通过子类 对父类的重定义来实 现。 方法的参数个数,类型,顺 序要完全相同