JAVA学习笔记(五)继承时的构造方法、多态、接口、汉诺塔
2013-05-03 15:35
696 查看
//:Cartoon.java package com.junjun.java.test; class Art { Art() { System.out.println("Art constructor"); } } class Drawing extends Art { Drawing() { System.out.println("Drawing constructor"); } } public class Cartoon extends Drawing { Cartoon() { System.out.println("Cartoon constructor"); } public static void main(String[] args) { Cartoon x = new Cartoon(); } }
运行结果:
Art constructor
Drawing constructor
Cartoon constructor
//:Shapes.java package com.junjun.java.test; class Shape { void draw() { System.out.println(this + ".draw()"); } } class Circle extends Shape { public String toString() { return "Circle"; } } class Square extends Shape { public String toString() { return "Sauqre"; } } class Triangle extends Shape { public String toString() { return "Trangle"; } } public class Shapes { /** * @param args */ public static void main(String[] args) { // TODO Auto-generated method stub //Object数组 Object[] shapeList = { new Circle(), new Square(), new Triangle() }; for(int i=0;i<shapeList.length;i++) { ((Shape)shapeList[i]).draw();//需要强制转换类型 } } }
运行结果:
Circle.draw()
Sauqre.draw()
Trangle.draw()
//:Adventure.java package com.junjun.java.test; interface CanFight { void fight(); } interface CanSwim { void swim(); } interface CanFly { void fly(); } class ActionCharacter { public void fight() { } } class Hero extends ActionCharacter implements CanFight,CanSwim,CanFly { public void swim() {} public void fly() {} } public class Adventure { public static void t(CanFight x) { x.fight(); } public static void u(CanSwim x) { x.swim(); } public static void v(CanFly x) { x.fly(); } public static void w(ActionCharacter x) { x.fight(); } public static void mian(String[] args) { Hero h = new Hero(); t(h);//把h当做CanFight u(h);//把h当做CanSwim v(h);//把h当做CanFly w(h);//把h当做ActionCharacter } }
//:HaioTower public class HaioTower { //将n个盘从form柱移到to柱,以aux柱为辅助柱 public static void move(int n,char from,char to,char aux) { if(n==1) { //仅有一个盘时,直接从from柱移到to柱 System.out.println("将#1盘从 " + from + " 移到 " +to); }else { //将n-1个盘从from柱移到aux柱,以to柱为辅助柱 move(n-1,from,aux,to); //将最下面的圆盘从from柱移到to柱 System.out.println("将#" + n + "盘从 " + from + " 移到 " + to); //将n-1个盘从aux柱移到to柱,以from柱为辅助柱 move(n-1,aux,to,from); } } public static void main(String[] args) { //将3个圆盘从A柱移到C柱,移动时利用B柱为辅助柱 move(3,'A','C','B'); } }
运行结果:
将#1盘从 A 移到 C
将#2盘从 A 移到 B
将#1盘从 C 移到 B
将#3盘从 A 移到 C
将#1盘从 B 移到 A
将#2盘从 B 移到 C
将#1盘从 A 移到 C
相关文章推荐
- Java学习笔记--继承中的构造方法
- Java学习笔记之继承和接口(二) 继承和多态、接口
- Java学习笔记(一)----封装 继承 多态 抽象 接口
- 学习笔记_毕向东 Java_继承_抽象类_接口_多态 2014.7.13
- JAVA 继承、方法重写、多态学习笔记
- Java学习笔记-对象-继承-接口-多态-内部类
- 黑马程序员-自己总结的java学习笔记(5)继承,接口,多态。
- Java学习笔记83. 枚举的构造方法和接口
- Java学习笔记之继承和接口(一) super关键字、final关键字、abstract类和方法
- Java学习笔记——继承、接口、多态
- java学习笔记——构造方法
- net学习之继承、里氏替换原则LSP、虚方法、多态、抽象类、Equals方法、接口、装箱拆箱、字符串(转)
- JAVA【类】析构器、重载与继承、方法的重写、自动转型、多态、方法与类的分类、接口继承
- java学习初探6之继承 方法覆盖 多态
- 2018/01/08JAVA 基础 / 接口与继承/Java关键词:变量引用 super 调用父类对象方法/构造方法【或者访问父类对象属性】的方式归纳
- java 继承 方法重写 自动转型 多态 接口 抽象类
- Android(java)学习笔记108:通过反射获取私有构造方法并且使用
- 0022 Java学习笔记-面向对象-继承、多态、组合
- Java----再学习-----Java多态、继承、接口
- 黑马程序员-------java学习笔记之继承与多态