最赞回答 / donlv
Java的多态性面向对象编程有三个特征,即封装、继承和多态。 封装隐藏了类的内部实现机制,从而可以在不影响使用者的前提下改变类的内部结构,同时保护了数据。 继承是为了重用父类代码,同时为实现多态性作准备。那么什么是多态呢? 方法的重写、重载与动态连接构成多态性。Java之所以引入多态的概念,原因之一是它在类的继承问题上和C++不同,后者允许多继承,这确实给其带来的非常强大的功能,但是复杂的继承关系也给C++开发者带来了更大的麻烦,为了规避风险,Java只允许单继承,派生类与基类间有IS-...
2015-07-09
已采纳回答 / 康振宁
1、抽象类里面可以有非抽象方法但接口里只能有抽象方法 声明方法的存在而不去实现它的类被叫做抽像类(abstract class),它用于要创建一个体现某些基本行为的类,并为该类声明方法,但不能在该类中实现该类的情况。不能创建abstract 类的实例。然而可以创建一个变量,其类型是一个抽像类,并让它指向具体子类的一个实例。不能有抽像构造函数或抽像静态方法。Abstract 类的子类为它们父类中的所有抽像方法提供实现,否则它们也是抽像类为。取而代之,在子类中实现该方法。知道其行为的其它类可以在类中实现这些方...
2015-07-09
public class Ship extends Traffic {
int people=200;
String place="夏威夷";
public void run(String traffic){
System.out.println(people+"人"+"通过"+traffic+"到达"+place);
}
}
int people=200;
String place="夏威夷";
public void run(String traffic){
System.out.println(people+"人"+"通过"+traffic+"到达"+place);
}
}
2015-07-08
public class Plane extends Traffic {
int people=500;
String place="休斯敦";
public void run(String traffic){
System.out.println(people+"人"+"通过"+traffic+"到达"+place);
}
}
int people=500;
String place="休斯敦";
public void run(String traffic){
System.out.println(people+"人"+"通过"+traffic+"到达"+place);
}
}
2015-07-08
public class Traffic {
int people;
String place;
public void run(String traffic){
System.out.println(people+"人"+"通过"+traffic+"到达"+place);
}
}
int people;
String place;
public void run(String traffic){
System.out.println(people+"人"+"通过"+traffic+"到达"+place);
}
}
2015-07-08
public class initial {
public static void main(String args[]){
Traffic obj1=new Traffic();
Traffic obj2=new Ship();
Traffic obj3=new Plane();
obj2.run("Ship");
obj3.run("Plane");
}
}
public static void main(String args[]){
Traffic obj1=new Traffic();
Traffic obj2=new Ship();
Traffic obj3=new Plane();
obj2.run("Ship");
obj3.run("Plane");
}
}
2015-07-08
终于搞定了。。。第一个Java项目-_-| ,源代码请移步我的github:https://github.com/ComputeAero/DadaRentalCar