接口抽象类

来源:互联网 发布:网络写文章赚钱的方法 编辑:程序博客网 时间:2024/06/05 20:30

在继承的基础上,自动转型和方法重写会出现多态的情况,多态:多个同一类型的对象执行同一种方法执行的过程不一样

演示

  解释:::在学生类中定义了名字和年龄属性,学习和玩的方法,大学生类继承学生类,重写了学习的方法。可以看到us2和us3同属学生类,且同执行了study的方法,但us2的结果是大学生正在学习,而us3的结果是学生正在学习,这就是多态。

事实上,new 类名返回的是一个地址,把地址给变量,通过变量找到储存对象的堆中的对象,执行相应的方法和属性,而这些都是构造函数在幕后执行的。而方法重写后父类屏蔽了子类自己的方法,只能找到重写父类的方法。所以转型后的对象类型为转型后的类型,执行的方法如果子类重写了父类的方法则执行的是重写后的,如果没有重写,则执行的是父类自己的如果没有自动转型过程,则执行的方法都是自己的方法。

4.方法分类(构造方法、普通方法、抽象方法)
构造方法:public 类名(){}
普通方法:public 返回类型  方法名(参数){}
抽象方法:public abstract 返回类型 方法名(参数);


5.类的分类(普通类、抽象类、接口)
普通类:public class 类名{}
1.只能有普通方法和构造方法,一定不能有抽象方法
2.可以创建对象
3.属性可以是常量(static final),也可以是变量
抽象类:public abstract class 类名{}
1.三种类型的方法都可以存在
2.不能创建对象
3.属性可以是常量(static final),也可以是变量
接口:public interface 类名(){}
1.只能有抽象方法,普通方法和构造方法不存在
2.不能创建对象
3.属性一定是常量(static final)

普通类继承抽象类和接口,抽象类继承接口,要注意各方法的区别,所以有时抽象方法要改为 普通方法。



0 0
原创粉丝点击