抽象与接口
抽象类
抽象是从众多的事物中抽取出共同的、本质性的特征,而舍弃其非本质的特征的过程。具体地说,抽象就是人们在实践的基础上,对于丰富的感性材料通过去粗取精、去伪存真、由此及彼、由表及里的加工制作,形成概念、判断、推理等思维形式,以反映事物的本质和规律的方法。
可以把抽象当作一种约束和规范,抽象类就像是一些具有共同方法的类的集合
比如说 人类是一个类 吃喝拉撒睡 这是人类中规定的基本行为 ,但是有些行为不是每个人都具有的
张三会讲法律 赵四会跳舞 王五会修电脑 这三个人都是人类都继承了人类的基本行为
那么人类就是一个抽象类 张三 赵四 王五 继承了人类 他们必须实现人类的基本行为 同时他们又可以有自己的 特定技能 /行为
- 抽象的关键字是------abstract;
- 抽象类规定了一些继承类必须实现的抽象方法;
- 继承类如果没有实现抽象类中的抽象,那么该继承类也需要被定义成抽象类;
- 抽象类中可以写普通方法,抽象方法必须在抽现类中;
学习编程语言一定要善于思考锻炼自己的抽象思维 。
编程语言的本质就是把真实世界抽象出来 在计算机中来模拟真实世界,这种逻辑和思维都来源于生活;
接口
创建接口的关键字: interface
实现接口的关键字: implements
-
接口是可以被看作是一种完完全全的规范
-
接口中没有方法体 只有方法
-
接口中的方法默认属性为public abstract(可省略不写) 抽象方法
-
接口需要实现类去实现,实现类必须实现接口中的所有方法否则会编译报错;
-
接口可以实现多继承
普通类、抽象类、接口类的区别
普通类:可以定义具体的方法 子类只能继承一个父类 单继承
抽象类:可以定义抽象方法(没有方法体) 和 具体的方法 通过extends继承 子类只能继承一个父类 单继承
接口:只能定义方法(无方法体) 都为抽象方法 通过implements 继承 子类可以同时实现多个接口
具体用法:
//建立A B两个接口 分别有A B两个方法
public interface A {
void A();
}
public interface B {
void B();
}
//建一个实现类
public class Test implements A,B{ //同时继承俩个接口 编译并未报错 程序也能成功执行
//重写两个接口中的方法
@Override
public void A() {
}
@Override
public void B() {
}
}