您的位置:首页 > 编程语言 > Java开发

Java菜鸟成长之路__Day_4_Java_抽象,继承,接口

2017-07-19 17:29 716 查看
继承:

关键字:extends

用法:class zi extends fu{

方法重写:即方法名相同,具体内容不同

无参构造

有参构造

}

作用;当多各类有共同的属性时,将这些共有的属性拿出来定义为一个父类,再用具体的子类继承父类的成员参数,以此提高开发效率.

接口:

关键字:interface

用法:public interface 接口名{

抽象方法;如:public abstract void jump();

}

实现方法:

关键字:implements

用法:子类 extends 父类 implements 接口名{

方法重写:即方法名相同,具体内容不同

有参构造

无参构造

};

作用:当子类中有少数特有的方法,这是就需要接口类实现

抽象:

关键字:abstract

用法:修饰类名,方法名

具体用代码讲解:

package extendstest;

//定义一个抽象类,动物类

public abstract class Aninal {

//私有化成员变量
private
String name;
private  int age;
private String color;
//无参构造
public Aninal() {
super();
// TODO Auto-generated constructor stub
}
//有参构造
public Aninal(String name, int age, String color) {
super();
this.name = name;
this.age = age;
this.color = color;
}
//set() get() 方法
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
public String getColor() {
return color;
}
public void setColor(String color) {
this.color = color;
}
//抽象方法
public abstract void eat();
//成员方法
public void sleep(){
System.out.println("累了就要睡觉");
}
public void show(){
System.out.println(name+"\n"+age+"\n"+color);
}

}

//定义接口

package extendstest;

public interface Jump {
//注意:接口中全是抽象方法(abstract)!
public abstract void jump();

}

package extendstest;

//定义普通猫

public class Cat extends Aninal {

@Override
public void eat() {
System.out.println("猫饿了就要吃鱼");

}
//无参构造
public Cat() {
super();
// TODO Auto-generated constructor stub
}
//有参构造
public Cat(String name, int age, String color) {
super(name, age, color);
// TODO Auto-generated constructor stub
}

}

//定义会会跳高的猫

package extendstest;

public class JumpCat extends Aninal implements Jump {

@Override
public void jump() {
System.out.println("我是会跳高的猫");

}

@Override
public void eat() {
System.out.println("会调高的猫要吃好吃的");

}
//无参构造
public JumpCat() {
super();
// TODO Auto-generated constructor stub
}
//有参构造
public JumpCat(String name, int age, String color) {
super(name, age, color);
// TODO Auto-generated constructor stub
}

}

//测试

package extendstest;

public class Cat_Dog_test {
public static void main(String[]args){
//定义一个普通猫
Cat c1=new Cat();
c1.setName("Tom");
c1.setAge(2);
c1.setColor("黑白");
c1.show();
c1.sleep();
c1.eat();
System.out.println("------------");
//定义一个跳高猫
JumpCat c2=new JumpCat("Rose",2,"黑白");
c2.show();
c2.sleep();
c2.eat()
4000
;
System.out.println("------------");

}

}

结果:

Tom

2

黑白

累了就要睡觉

猫饿了就要吃鱼

------------

Rose

2

黑白

累了就要睡觉

会调高的猫要吃好吃的

------------

狗类自己测试
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  面向对象