1.抽象方法
public abstract class Animal {
private String name;
private int age;
public Animal(){
}
public Animal(String name,int age){
this.name = name;
this.age = age;
}
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 void drink(){
System.out.println("动物在喝水");
}
public abstract void eat();
}
package Demo1;
public class Frog extends Animal {
public Frog() {
}
public Frog(String name, int age) {
super(name, age);
}
@Override
public void eat() {
System.out.println("青蛙在吃虫子");
}
// 重写父类所有抽象方法
}
public class Test {
public static void main(String[] args) {
Frog f = new Frog("小绿",1);
System.out.println(f.getName()+","+ f.getAge());
f.eat();
f.drink();
}
}
2.接口
public abstract class Animal {
private String name;
private int age;
public Animal() {
}
public Animal(String name, int age) {
this.name = name;
this.age = age;
}
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 abstract void eat();
}
public interface Swim {
public abstract void swim();
}
public class Rabbie extends Animal {
public Rabbie() {
}
public Rabbie(String name, int age) {
super(name, age);
}
@Override
public void eat(){
System.out.println("兔子在吃胡萝卜");
}
}
public class Frog extends Animal implements Swim{
public Frog() {
}
public Frog(String name, int age) {
super(name, age);
}
@Override
public void eat() {
System.out.println("青蛙在吃虫子");
}
@Override
public void swim() {
System.out.println("青蛙在蛙泳");
}
}
public class Test {
public static void main(String[] args) {
Frog f = new Frog("小青",1);
System.out.println(f.getName()+","+f.getAge());
f.eat();
f.swim();
Rabbie r = new Rabbie("小白",1);
System.out.println(r.getName()+","+r.getAge());
r.eat();
}