JAVA练习7—多态,接口

什么是多态?

多态是指两个或多个属于不同类的对象,对于同一个方法调用作出不同响应的方式。

如何实现多态?

1.     父类  对象名  =  new  子类  ();

2.     调用重写方法,即可产生多态。

编译时和运行时:

1.      编译时:在编写代码期间,没有run  as时,都属于编译时。

2.      运行时:在run  as时,系统处于运行状态时,都属于运行时。

多态的优势:

1.     多态对已存代码具有可替换性。

2.     多态对已存代码具有可扩充性。

3.     多态具有灵活性,提高了使用效率。

4.     多态简化对应用软件的代码编写和修改的过程。

public class Question {
	//你的性别
	public void getSex() {
		System.out.println("性别");
	}
	//你的身高
    public void getHeight() {
    	System.out.println("身高");
    	
    }
    //你的年龄
    public void getAge() {
    	System.out.println("年龄");
    	
    }

}




(Answer1)


public class Answer1 extends Question{
	public void getSex() {
		super.getSex();
		System.out.println("男");
	}
	
    @Override
	public void getHeight() {
		super.getHeight();
		System.out.println("1.67");
	}
	
    @Override
    public void getAge() {
    	super.getAge();
    	System.out.println("18");
    }


}





(Answer2)


public class Answer2 extends Question{
	public void getSex() {
		System.out.println("女");
	}
	
	public void getHeight() {
		System.out.println("1.63");
	}
	
	public void getClothes() {
		System.out.println("17");
	}

}





(Answer3)


public class Answer3 {
	public void getSex() {
		System.out.println("男");
	}
	
	public void getHeight() {
		System.out.println("1.75");
	}
	
	public void getClothes() {
		System.out.println("19");
	}

}







(Index)


public class Index {
	public static void main(String[] args) {
		Question question = new Answer1();
		question.getSex();
		question.getHeight();
		question.getAge();

	}

}

什么是接口?

接口是一种特殊的抽象类,接口里有很多抽象方法。接口关键字:interface.

结构: public interface  接口名{ 抽象方法 }

为什么要使用接口?

接口可以精简程序结构,免除重复定义,提出设计规范。

JAVA只支持单继承,可以实现多个接口。

public interface Flyable {
	public void fly();
		

}




public interface Transform {
	public void trans();

}




飞机:
public class Plane implements Flyable,Transform{

	@Override
	public void trans() {
		System.out.println("飞机可以运货。");
		
	}

	@Override
	public void fly() {
		System.out.println("飞机靠气流原理飞行。");

	}
	

}




蚊子:
public class Masquito implements Flyable,Transform{

	@Override
	public void trans() {
		System.out.println("蚊子可以运食物。");
		
	}

	@Override
	public void fly() {
		System.out.println("蚊子靠翅膀飞。");
		
	}

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值