十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
我写了一个,内容比较简单的。代码如下:public class AnimalTest {
成都创新互联公司是专业的城子河网站建设公司,城子河接单;提供网站制作、网站设计,网页设计,网站设计,建网站,PHP网站建设等专业做网站服务;采用PHP框架,可快速的进行城子河网站开发网页制作和功能扩展;专业做搜索引擎喜爱的网站,专业的做网站团队,希望更多企业前来合作!
Animal animal;
public void eat(Animal animal){
animal.eat();
}
public void walk(Animal animal){
animal.walk();
}
public static void main(String args[]){
Animal animal=new Animal("animal");
Wolf w=new Wolf("wolf");
Goat g=new Goat("goat");
AnimalTest at=new AnimalTest();
at.eat(animal);
at.eat(w);
at.eat(g);
at.walk(animal);
at.walk(w);
at.walk(g);
}
}
class Animal {
String name;
public Animal(String name){
this.name=name;
}
public Animal(){}
public void setName(String name){
this.name=name;
}
public String getName(){
return name;
}
public void eat(){
System.out.println("animal eat");
}
public void walk(){
System.out.println("animal walk");
}
public String toString(){
return name;
}
}class Wolf extends Animal {
public Wolf(String name){
super(name);
}
public Wolf(){}
public void eat(){
System.out.println("wolf eat meat");
}
public void walk(){
System.out.println("wolf walk");
}
public String toString(){
return name;
}
}class Goat extends Animal {
public Goat(String name){
super(name);
}
public Goat(){}
public void eat(){
System.out.println("goat eat grass");
}
public void walk(){
System.out.println("goat walk");
}
public String toString(){
return name;
}
}
JAVA中被 final 标志的类,是最终类,不可以被继承,如:public 、final 、String。
JAVA继承的介绍
继承是面向对象最显著的一个特性,继承是从已有的类中派生出新的类,新的类能吸收已有类的数据属性和行为,并能扩展新的能力。
Java继承是使用已存在的类的定义作为基础建立新类的技术,新类的定义可以增加新的数据或新的功能,也可以用父类的功能,但不能选择性地继承父类。
这种技术使得复用以前的代码非常容易,能够大大缩短开发周期,降低开发费用。比如可以先定义一个类叫车,车有以下属性:车体大小,颜色,方向盘,轮胎,而又由车这个类派生出轿车和卡车两个类,为轿车添加一个小后备箱,而为卡车添加一个大货箱。
第一个:
public class Yaojing {
protected String name;
protected int age;
protected String gender;
public void showBasicInfo() {
System.out.println(toString());
}
public void eatTangSeng() {
System.out.println("吃饱了");
}
@Override
public String toString() {
return "Yaojing [name=" + name + ", age=" + age + ", gender=" + gender + "]";
}
}
第二个类
public class Zhizhujing extends Yaojing {
public void buildNet(){
System.out.println("蜘蛛在织网");
}
}
第三个类
public class Baigujing extends Yaojing {
public void beBeauty(){
System.out.println("白骨精");
}
}
参考程序:
public class Student {
private String name;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public void goHome(Traffic t){
System.out.println("学生:"+this.name);
t.run();
}
public Student(String name) {
this.name = name;
}
}
public abstract class Traffic {
protected double speed;
public void run(){
}
}
public class Bus extends Traffic{
@Override
public void run() {
System.out.println("时速为"+super.speed+"公里每小时的汽车正在嘀嗒嘀嗒的开着.");
}
public Bus(double busSpeed) {
super.speed = busSpeed;
}
}
public class Train extends Traffic {
@Override
public void run() {
System.out.println("时速为"+super.speed+"公里每小时的火车正在况且况且的开着.");
}
public Train(double trainSpeed) {
super.speed = trainSpeed;
}
}
public class AirPlan extends Traffic {
@Override
public void run() {
System.out.println("时速为"+super.speed+"公里每小时的飞机正在吴屋吴屋的开着.");
}
public AirPlan(double airPlanSpeed) {
super.speed = airPlanSpeed;
}
}
public class Test {
public static void main(String[] args) {
Traffic traffic1 = new Bus(40);
Student student = new Student("小明");
student.goHome(traffic1);
Traffic traffic2 = new Train(120);
Student student2 = new Student("小花");
student2.goHome(traffic2);
Traffic traffic3 = new AirPlan(300);
Student student3 = new Student("小红");
student3.goHome(traffic3);
}
}