JAVA继承、接口
接口1
public interface IAction1 {
void run();
}
接口2
public interface IAction2 {
void run();
}
Animal
public class Animal {
String name; //属性
int age; //属性
?
// 默认构造函数
public Animal() {}
// 带参构造函数
public Animal(String name,int age) {
this.name = name;
this.age = age;}
// 重写父类toString
@Override
public String toString() {
return "Animal("+"name="+name+‘\‘‘+",age="+age+‘)‘; }
// 重写父类equls
@Override
public boolean equals(Object obj) {
return super.equals(obj);}
// 快速生成的接口
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; }
}
?
Dog
// 继承Animal(关键字extends)
// 接口IAction1(关键字 implements)
public class Dog extends Animal implements IAction1 {
// 带参构造函数,调用父类带参构造(调用父类关键字super)
public Dog(String name,int age) {
super(name,age);}
@Override
public String getName() {
return "dog"; }
?
@Override
public void run() {
System.out.println("IAction1.run"); }
// 增加接口2
public void addAction(IAction2 iAction2)
{iAction2.run();}}
?
MAIN
public class Main{ public static void main(String[] args) { // 实例 Dog dog = new Dog("秋田犬",1); // 使用内部类对象 //dog.addAction(new MyClass()); // 这种语法做了三件事: new IAction2(){....} // 1. 创建一个匿名类 // 2. 实现了IAction2接口 // 3. 返回一个匿名类对象 dog.addAction(new IAction2() { @Override public void run() { System.out.println("IAction2 run"); } }); dog.run(); }}
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。