立即学习:https://edu.csdn.net/course/play/27274/361066?utm_source=blogtoedu
Java 面向对象
Java继承(extends)
继承语法
private 私有的
default" " 默认的
protected 受保护的
public 公共的
继承可以继承除private之外的所有变量(属性)和方法,private可以用于同一类中
object类是java的顶级父类,任何类都继承object类
方法覆盖(@Override)
继承关系中,子类可以覆盖父类的同名方法
// 执行父类的方法,super指的父类
super.eat();
方法重载(@overload)
同一个类中,不同的方法,方法名称相同,参数的个数或类型不同。
构造方法也可以重载
super关键字
super 指父类的引用
this 指当前对象
package com.zsk.extend;
public class Demo10 {
public static void main(String[] args) {
Dog dog = new Dog();
// private属性、方法用在了run方法中
dog.run();
dog.play();
dog.play("ball");
dog.sleep();
// private属性不能访问
System.out.println(dog.name);
System.out.println(dog.age);
System.out.println(dog.height);
}
}
class Animal{
public String name = "ruru";
int age = 4;
// private 只能在当前类中使用,实例不能使用,不能被继承
private float weight = 10.5f;
protected int height = 40;
// 方法重载,同一类中,不同方法,方法名称相同,参数数目或类型不同
public void play(String thing) {
System.out.println("play "+thing);
}
public void play() {
System.out.println("play..");
}
void sleep() {
System.out.println("sleep..");
}
private void eat() {
System.out.println("eat..");
}
protected void run() {
System.out.println("run..");
eat();
System.out.println(weight);
}
}
class Dog extends Animal{
// 方法覆盖(子承父业)
// dog.play()不再与class Animal中的play()实现一样
public void play() {
super.play();
System.out.println("dog plays..");
}
}