标签:java 变量 对象 子类 引用 父类 方法 Day
类是变量的蓝图
对象本身已知的事物称为实例变量,对象可以执行的动作称为方法;
两种变量:primitive主数据和引用
1.事实上没有对象变量这样的东西,只有引用(reference)到对象的变量;
2.对象引用变量保存的是存取对象的方法;
3.这种变量是一种类似指针的东西(引用变量是一个遥控器);
4.数组也是个对象;
注意:声明了有返回值就应该返回一个值;
继承:(避免重复代码,定义出共同的协议)
子类继承父类的方法和实例变量;子类可以重新定义实现覆盖(实例变量无法被覆盖);
设计继承:1.找出具有共同属性和行为的对象; 2.设计代表共同状态和行为的类;
3.决定子类是否需要让某项行为具有特定不同的运作方式;4.通过寻找共同行为的子类来找出更多抽象化机会;
5.“子类一旦是父类的更具体的类型,而不是借用父类的方法”;
多态(polymorphism):
1.在多态下引用与对象可以是不同类型:引用类型可以是实际对象的父类(实例:一个引用变量的数组可以存在不同的子类元素)
ex:Animal cat=new Cat();
2.参数和返回类型也可以多态:将参数声明成父类类型,那就可以传入子类对象了;
3.final修饰符(表示是继承树的末端,不能被继承);
4.覆盖不仅需要名称相同,还需要参数和返回值(返回一样的,或者他的子类)相同;否则不进行覆盖;要求存取权相同或更开放;
重载(overload):
1.两个方法名称相同,参数不同,与多态无关;
2.不允许返回类型不同但参数相同的重载;
3.可以任意更改overload版本的存取权限;
接口和抽象类:
原则:应该为不需要具体数据的,用于传承方法的父类标记为abstract(抽象类)---编译器不会让你初始化它
抽象类:除了被继承,没有用途,没有值,没有目的(除非有static成员)
抽象的方法:用来被覆盖,没有意义,不需要实体;
(非抽象类不能拥有抽象方法)(抽象的类可以有非抽象的方法)
抽象的方法必须在子类中实现;
Object:最大的父类 不是抽象的
注意:1.在ArrayList
标签:java,
变量,
对象,
子类,
引用,
父类,
方法,
Day
From: https://www.cnblogs.com/ljyink/p/18059907