Java面向对象多态性
来源:互联网 发布:建筑装饰定额预算软件 编辑:程序博客网 时间:2024/05/22 20:52
package com.chenglei.Pol;class A {public void tell1(){System.out.println("A--tell1()");}public void tell2(){System.out.println("A--tell2()");}}class B extends A{public void tell1(){System.out.println("B--tell1()");}public void tell3(){System.out.println("B--tell3()");}}abstract class Person{private int age;private String name;public void setAge(int age){this.age = age;}public int getAge(){return age;}public void setName(String name){this.name = name;}public String getName(){return name;}public Person(int age, String name){this.age = age;this.name = name;}public abstract void want();}class Student extends Person {private int score;public void setScore(int score){this.score = score;}public int getScore(){return score;}public Student(int age, String name, int score){super(age,name);this.score = score;}public void want(){System.out.println("姓名:"+getName()+" 年龄:"+getAge()+" 成绩:"+getScore());}}class Worker extends Person{private int salary;public void setSalary(int salary){this.salary = salary;}public int getSalary(){return salary;}public Worker(String name, int age, int salary){super(age,name);this.salary = salary;}public void want(){System.out.println("姓名:"+getName()+" 年龄:"+getAge()+" 成绩:"+getSalary());}}interface USB{void start();void stop();}class C{public static void work(USB u){u.start();System.out.println("工作中");u.stop();}}class USBDisk implements USB{public void start(){System.out.println("U盘开始工作");}public void stop(){System.out.println("U盘结束工作");}}class Printer implements USB {public void start(){System.out.println("打印机开始工作");}public void stop(){System.out.println("打印机结束工作");}}public class PolDemo {public static void main(String[] args) {//向上转型B b = new B();A a = b;a.tell1();//tell1()重写的a.tell2();//向下转型A a2 = new B();B b2 = (B)a2;b2.tell1();b2.tell2();b2.tell3();/* * instanceof * 判断是否是其类的一个实例 */A a3 = new A();System.out.println(a3 instanceof A);System.out.println(a3 instanceof B);A a4 = new B();System.out.println(a4 instanceof A);System.out.println(a4 instanceof B);Student stu = new Student(12,"xiaoming",78);stu.want();Worker worker = new Worker("xiaohua",23,80);worker.want();C.work(new USBDisk());C.work(new Printer());}}
0 0
- 面向对象JAVA多态性
- Java面向对象多态性
- Java面向对象多态性
- java 面向对象的多态性
- java面向对象(十四) 多态性
- JAVA面向对象之多态性
- Java面向对象多态性应用
- Java面向对象中的多态性
- JAVA面向对象的多态性
- Java面向对象高级--对象的多态性
- Java面向对象--对象的多态性
- java面向对象(四)多态性
- Java面向对象多态性的应用
- 面向对象中的多态性
- 面向对象-多态性
- 面向对象编程,多态性
- 面向对象编程---多态性
- PHP多态性 | 面向对象
- ListView显示问题
- 不刷新页面修改浏览器url
- 临时文件
- Oracle中创建数据库链接
- Multi-Probe LSH原理分析
- Java面向对象多态性
- OpenGL ES中的顶点数组、顶点属性、缓冲区对象
- Rails学习总结(2)
- Oracle中的锁
- 详解Android开发中常用的 DPI / DP / SP
- Heron(一)—-storm的一些短板
- xstream 别名的用法
- redis集群配置
- 利用新版ShareSDK进行手动分享(自定义分享界面)