JavaSE学习
abstract抽象类
//abstract抽象类
public abstract class Java{
//是一个约束,有人帮我们实现
//abstract抽象方法,只有方法的名字,没有方法的实现!
public abstract void doSomething();
}
创建子类A继承父Java
//抽象类的所有抽象方法,由他的子类来实现,除非他的子类也是一个抽象类,那么就由子子类来实现。
public class A extends Java{
//重写父类的方法
public void doSomething(){
}
}
抽象类的本质是一个类,extends的局限性是单继承,但是接口可以多继承
抽象类注意
- 不能new一个抽象类,只能靠子类去实现它;他只是一个约束。
- 抽象类里面可以写普通方法
- 抽象方法必须写在抽象类里面
- 抽象的抽象:约束
接口的定义与实现
声明接口的关键字是interface,声明类的关键字是static
//interface 定义接口的关键字,接口都需要有实现类
public interface jiekou {
//接口中定义的所有方法都是默认的抽象且公开的: public abstract
//接口中定义的属性都默认是常量 public static final
int age = 99;
void run();
void go(String name);
void add(String name);
void delete(String name);
void updata(String name);
void query(String name);
}
类可以实现接口
//抽象类:extends
//类可以实现接口 implements 接口
//实现了接口的类,就需要重写接口中的方法
public class achievejiekou implements jiekou {
@Override
public void run() {
}
@Override
public void go(String name) {
}
@Override
public void add(String name) {
}
@Override
public void delete(String name) {
}
@Override
public void updata(String name) {
}
@Override
public void query(String name) {
}
}
接口可以实现多继承
public interface jiekou2 {
void eat();
void sleep();
}
通过接口实现多继承
public class achievejiekou implements jiekou,jiekou2 {
@Override
public void run() {
}
@Override
public void go(String name) {
}
@Override
public void add(String name) {
}
@Override
public void delete(String name) {
}
@Override
public void updata(String name) {
}
@Override
public void query(String name) {
}
@Override
public void eat() {
}
@Override
public void sleep() {
}
}
- 接口不能被实例化,接口中没有构造方法
- 接口可以通过implements定义,且可以多继承