继承
在此之前(不要问我我什么一开始又是这个,没办法,小白我实在是没有墨水了),我们先来聊聊几个小的概念。
1.方法的分类
1).普通方法,格式:访问权限 返回值类型 方法名(参数){}
2).抽象方法,格式:访问权限 abstract 返回值类型 方法名(参数);
3).构造方法,格式:访问权限 类名 (参数){}
2.类的分类
java的类主要分为三种:普通类,抽象类,和接口。这三者之间的关系可以简单的理解为打工仔,高级打工仔和老板的关系。老板只需要把方法名告诉高级打工仔,而高级打工仔则完成一部分工作,把剩下的一部分的工作交给打工仔。我什么可以这样理解呢?我们先来看看这几个类的区别
1).普通类:public class 类名(){}
特点:方法必须是普通方法,不能有抽象方法。
属性可以是常量也可以是变量
可以创建对象
2) 抽象类:public abstract class 类名{}
特点:方法可以是普通方法、构造方法、抽象方法。
属性可以是常量或变量
不能创建对象
3)接口:public interface 类名{}
特点:方法只能是抽象方法
属性只能是常量
不能查创建对象
通过以上几点可以看出:只有普通方法可以创建对象,也只有普通方法不能有抽象对象,因为他是来完成上级没有完成的所有的事,即苦力一个,做的事必须达到目的。而抽象类。接口很懒,他是老板,只接受最简单的事,下达命令。具体的实现就交给抽象类和普通类。
接下来我们来看看继承吧。
3.继承
子类可以继承父类的所有非私有属性和方法。
三个类之间的继承主要有一下三种:
普通类 extends 抽象类 必须同时重写抽象类中的所有抽象方法
抽象类 implements 接口 必须同时重写接口中所有的抽象方法
普通类 implements 接口 必须同时重写抽象方法
在继承的概念中,涉及到方法的重写,在这里查一下重写
4.方法重写
子类重写父类:方法名,参数必须相同,方法不同
5.自动转换
在继承的时候,很多时候我们需要创建子类对象转换成父类如:
public class Test {
public static void main(String[] args) {
Animal ani = new Dog();
ani.run(); //在这里是在父类的对象中使用子类的的run的方法。
Animal ani1 = new Animal();
ani1.run();
}
}
public class Dog extends Animal{
public void run(){
System.out.println("狗在跑");
}
public void speek(){
System.out.println("狗早叫");
}
}
public class Animal {
public String name = "";
public int age = 20;
public void run(){
System.out.println("动物跑");
}
}
输出的是:
狗在跑
动物跑
6.java的多态性(一般java具有封装性和多态性)
同一个类型的对象执行同一个方法名的方法,执行过程不同。