第九讲:面向对象之继承
今日知识:父类使用有参构造,子类也必须有有参构造,无参构造一样的
1:什么是继承?
Java中使用extends关键字实现类的加载机制称之为继承,子类自动拥有了基类(也叫父类,superclass)的所有成员,即成员变量和成员方法
2:访问权限:
如果父类中变量定义成了private私有变量,则在子类中是不可以调用的,其只能在父类的方法中调用,子类和其他类都不可以。
3:ps:
Java只支持单继承,不支持多继承,即:一个子类只能有一个基类(父类),但是一个基类可以有多个子类
子类对象包含父类对象
静态方法是不可以继承的
4:Super关键字
Super关键字,可以用来子类调用父类的成员用,它包括调用父类的public、protected修饰的变量方法。
调用父类的方法:super.父类的方法
同时super也可以调用父类的构造方法,但是父类中构造方法用private修饰时,不能有子类去继承
子类可以没有构造方法,他会自动调用父类的构造方法
在子类中可以调用父类的构造方法,super必须放在子类构造方法的首句
第十讲:面向对象之方法的重写和重载
1:方法的重载
方法的重载是指一个类中可以定义有相同的名字,但参数不同的多个方法。调用时,会根据不同的参数表选择对应的方法。方法的重载即:同名不同参
参数不同指的是参数的类型不同或是参数的个数不同
构造方法也可以重载
2:方法的重写
方法重写基于继承,子类继承父类,子类可以调用父类的方法,同时子类也可以重写父类中的方法,来实现和父类中不同的业务处理逻辑。重写要求子类中方法与父类中的方法名称仙童,参数相同,参数类型相同。当子类调用该方法时,基类中的方法则被覆盖。方法重写即:重写父类方法,同名也同参
第十一讲:面向对象之Object类
1:什么是Object类
Object类是所有Java类的根基类
如果在类的声明中未使用extends关键字指明基类,则默认基类为Object类
public class Person {
}
等价于
public class Person extends Object {
}
2:toString方法
Object类中定义有 public String toString() 方法,其返回值是String类型,描述当前对象的所有信息
在进行String与其他类型数据的连接操作时(如:System.out.println(“info:” + person);),将自动调用该对象的toString()方法
可以根据需求在用户自定义类型中重写toString方法