继承:
作用意义:使用继承提高了代码的复用性,可维护性和拓展性(.javax表示继承(extends)扩展)。
继承的实现:
(1)子类不能继承父类的构造方法和私有方法,但私有成员变量可以被继承只是不能被直接访
问。
(2)通过super关键字可以访问父类的属性和(构造)方法
(3)通过this关键字可以调用父类私有成员变量
(4)super和this 不能同时调用方法或变量
(5)Java语言只支持单继承不支持多继承(一子只一父,一父可多子)
方法的重写(一定发生在父子类中):
子类从父类继承的方法不满足子类需求,就需要重写
访问权限
重写(Override)和重载(Overload)的区别
返回值类型:重写:从jdk1.5开始允许返回子类类型
全局常量:
是指在整个程序中都可以访问的常量,命名全大写
抽象类:
抽象类必须用abstract关键字声明
格式:public abstract class 类名{}
抽象方法(没有方法体,简单来说抽象方法就是用来被继承的)
格式:public abstract void 方法名();
(1)一个抽象类可以没有抽象方法,抽象方法必须在子类或接口处重写
(2)一个抽象类必须有子类继承,因此该类不能用final关键字修饰
(3)抽象类中可以没有抽象方法,有抽象方法的类一定是抽象类,一个具有抽象方法的抽象类才
是真正意义上的抽象类
多态:
同一事物表现出多种形态
语法格式:
父类类型 引用变量名 = new 子类类型();//父类类型的引用指向子类的对象(多态核心)
接口:
interface 接口名称{
全局变量;//接口里全是全局变量
抽象方法;//接口里全是抽象方法
}
接口里的抽象方法可省略书写abstract
接口允许多继承
一个接口要想使用,必须依靠子类。子类如果不是抽象类,实现接口中所有抽象方法
一些碎知识点:
创建出来的对象都放在堆空间中
对应地址存放在栈空间中
普通的成员方法属于对象层级,静态方法属于类层级