网站建设资讯

NEWS

网站建设资讯

面向对象之多态,抽象类,接口-创新互联

面向对象之多态,抽象类,接口
  • 多态
    • 多态中成员访问特点
    • 多态的好处和弊端
    • 多态中的转型
  • 抽象类
          • abstract:
        • 抽象类和普通类的异同点:
  • 接口
    • 接口的特点

成都创新互联公司拥有一支富有激情的企业网站制作团队,在互联网网站建设行业深耕10余年,专业且经验丰富。10余年网站优化营销经验,我们已为上1000+中小企业提供了网站建设、网站设计解决方案,按需设计网站,设计满意,售后服务无忧。所有客户皆提供一年免费网站维护!多态

概念:同一个对象,在不同时刻表现出来的多种形态。
如果没有了继承,多态也失去了存在的前提。

public class Animal {public void say() {System.out.println("动物叫声");
    }
}
public class Cat extends Animal {@Override
    public void say() {System.out.println("猫叫````");
    }
}
public class Dog extends Animal {@Override
    public void say() {System.out.println("狗叫·····");
    }
}
public class Test {public static void run(Animal animal){animal.say();
	}
    public static void main(String[] args) {Animal dog = new Dog();
        dog.say();//执行的是dog类的方法(右边声明的是Animal对象 调用的是在子类重写过的say()方法)
        Animal cat = new Cat();
        Main.run(cat);//执行的是cat类的方法(实际传入的参数是Animal的实像对象)
    }
}

多态在方法的参数上尤为多见,
1.左边类型是父类类型,右边new的是子类对象。
2.方法的参数定义的是父类类型,具体使用时数据是子类对象。

多态中成员访问特点

1成员变量:编译看左边,执行看左边。(变量习惯性的私有化这样就不需要就这些了)
2成员方法:编译看左边,执行看右边。(因为方法能重写)

多态的好处和弊端

好处:提高了程序的拓展性(定义方法的时候,使用父类类型作为参数,将来在使用的时候使用具体的子类参与操作)
弊端:不能使用子类的特有功能(成员只会映射到父类上)

多态中的转型

1.向上转型: 子类类型赋值给父类类型。
2.向下转型: 父类类型赋值给子类类型。(需要强转)

抽象类 abstract:

修饰类:表示该类为抽象类,里面可以有抽象方法也可以没有
修饰方法:使用该关键字修饰的方法不能有具体的实现,存放该方法的类必须是抽象类。

抽象类和普通类的异同点:

不同:
1.抽象类需要使用abstract修饰。
2.抽象类不能够直接实例化。(构造方法一般用来子类访问父类数据初始化)
相同:
1.可以没有抽象方法。
2.可以有任何的其他方法。
3.可以有构造方法。
4.可以有成员变量。
抽象方法:只有方法的声明,没有方法的实现。这样的方法叫做抽象方法。子类继承抽象类必须实现抽象方法,除非子类是抽象类。

接口

1,接口就是一种公共的数据规范,只要符合规范标准大家都可以通用。
2,java中接口更多的体现在对行为的抽象。
3,接口java中最高抽象的结构。

接口的特点

1.不用class,用interface修饰
2.实现用implement表示
3.接口不能实例化
4. jdk1.8以前接口中只能有抽象方法(默认修饰符:public abstract)
5. jdk8以后可以有默认方法、静态方法、私有方法
6. 成员变量只能是常量(默认修饰符:public static final)
7. 接口之间可以多继承。

(注意继承是“is a”的关系‘是不是’,接口是“like a”的关系‘像不像’)

抽象类是对事物的抽象,而接口是对行为的抽象

你是否还在寻找稳定的海外服务器提供商?创新互联www.cdcxhl.cn海外机房具备T级流量清洗系统配攻击溯源,准确流量调度确保服务器高可用性,企业级服务器适合批量采购,新人活动首月15元起,快前往官网查看详情吧


本文名称:面向对象之多态,抽象类,接口-创新互联
网站链接:http://cdweb.net/article/igsoo.html