继承:
关键字: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();
System.out.println("------------");
}
}
结果:
Tom
2
黑白
累了就要睡觉
猫饿了就要吃鱼
------------
Rose
2
黑白
累了就要睡觉
会调高的猫要吃好吃的
------------
狗类自己测试