抽象类,接口,多态的综合运用
来源:互联网 发布:平面设计和美工的区别 编辑:程序博客网 时间:2024/05/21 08:01
1.为抽象类和接口实例化
abstract class A //定义一个抽象类
{
public abstract void fun();
};
class B extends A
{
public void fun(){
System.out.println("覆写父类中的构造方法:");
}
};
public class AbstractDemo02
{
public static void main(String args[])
{
A a=new B(); //向上转型为抽象类实例化
a.fun();
}
};
2.为接口实例化
interface class A //定义一个接口
{
public abstract void fun();
};
class B extends A
{
public void fun(){
System.out.println("覆写父类中的构造方法:");
}
};
public class AbstractDemo03
{
public static void main(String args[])
{
A a=new B();
a.fun();
}
};
3.抽象类的运用
l类的分析:定义一个人的类,,学生,工人类,人有年龄,名字属性,但是说话内容由学生和工人决定。
abstract class Person
{
private String name;//定义name属性
private int age;//定义age属性
public Person(String name,int age){//通过构造方法实例化
this.name=name;
this.age=age;
}
public void setName(String name){
this.name=name;
}
public void setAge(int age){
this.age=age;
}
public String getName(){
return this.name;
}
public int getAge(){
return this.age;
}
public void say(){
System.out.println(this.fun());
}
public abstract String fun(); //定义一个抽象方法,说话内容由子类决定
};
class Worker extends Person
{
private float salary;//定义salary属性
public Worker(String name,int age,float salary){
super(name,age);
this.salary=salary;
}
public String fun(){
return "姓名:"+super.getName()+":年龄:"+super.getAge()+":工资:"+this.salary;
}
};
class Student extends Person
{
private float score;//定义score属性
public Student(String name,int age,float score){
super(name,age);
this.score=score;
}
public String fun(){
return "姓名:"+super.getName()+":年龄:"+super.getAge()+":分数:"+this.score;
}
}
public class ExtendsDemo02
{
public static void main(String args[]){
Person p1=new Student("张三",30,100.0f);//利用对象的多态性向上转型实例化对象
Person p2=new Student("李四",30,3000.0f);
p1.say();
p2.say();
}
};
4.接口的运用
接口实际上就是是一个标准,如果把USB认为一个标准,那么只要实现了USB接口的,就可以连上电脑,开始工作。代码如下
interface USB
{
public void start();
public void stop();
};
class Computer
{
public static void plugin(USB usb){
usb.start();
System.out.println("--------usb------开始工作");
usb.stop();
}
};
class Flash implements USB
{
public void start (){
System.out.println("--------------U盘-----------开始工作");
}
public void stop(){
System.out.println("--------------U盘-----------停止工作");
}
};
class Print implements USB
{
public void start (){
System.out.println("--------------打印机-----------开始工作");
}
public void stop(){
System.out.println("--------------打印机-----------停止工作");
}
};
public class InterfaceDemo04
{
public static void main(String args[]){
Computer.plugin(new Flash());
Computer.plugin(new Print());
}
};
- 抽象类,接口,多态的综合运用
- 多态与抽象的综合运用
- 接口、抽象类、封装、继承、多态的综合案例
- 运用虚拟/抽象/接口实现多态的例子(二)--抽象类.
- 抽象类及接口的综合实例
- 运用虚拟/抽象/接口实现多态的例子(三)--接口类
- 运用虚拟/抽象/接口实现多态的例子(-)--虚拟类.
- 1001 Java 类、抽象类、接口的综合小练习
- 027、类,抽象类,接口的综合小练习
- 习题--抽象类、继承、接口综合
- 继承,接口,多态的综合练习
- ArrayAdapter 的综合运用
- 数组的综合运用
- java--面向对象之抽象类和接口综合案例
- 抽象类的接口
- 抽象类 ,接口,实例,多态的理解
- Javascript的 抽象类、接口、多态与类型转换
- java中抽象类和接口的多态
- 3、Objective-C语法之类和对象
- windows 监听命令
- Windows7下JDK+Tomcat的安装与配置
- html/css入门第一篇
- ruby简单的基础
- 抽象类,接口,多态的综合运用
- 4、Objective-C语法之Category的使用
- 大数据的电花火石!
- MySQL根据生日计算年龄
- C++ STL容器适用情况的说明
- 音频编解码技术零基础学习方法
- CI去掉index.php
- request.getParameter() 、request.getInputStream()和request.getReader() 使用体会
- 5、Objective-C语法之代码块(block)的使用