加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Java > 正文

JAVA继承、接口

发布时间:2020-12-15 07:43:26 所属栏目:Java 来源:网络整理
导读:JAVA继承、接口 接口1 public interface IAction1 { ??? void run(); } 接口2 public interface IAction2 { ??? void run(); } Animal public class Animal { ??? String name; //属性 ??? int age; //属性 ? ??? // 默认构造函数 ??? public Animal() {} //

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();?? }}

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读