##抽象类
package com.qiu.abscla;
//抽象类
public abstract class Abstr {
//抽象方法
public abstract void go();
public static void go1(){
}
}
## 继承抽象方法的子类
package com.qiu.abscla;
public class AbstrDemo1 extends Abstr {
//继承抽象类必须要重写抽象类里面的方法
@Override
public void go() {
System.out.println("我是被重写的抽象方法");
}
}
接口
普通类:只有具体实现
抽象类:具体的实现和规范(抽象方法)都有
接口:只有规范,自己无法写
代码## 接口代码
package com.qiu.prot;
public interface ProtDemo1 {
int AGE=10_0000;
//接口中只能定义方法,不能写方法的具体实现
void add();
void delete();
}
## 实现接口类代码
package com.qiu.prot;
public class ProtDemo2 implements ProtDemo1{
@Override
public void add() {
System.out.println("实现增加方法");
}
@Override
public void delete() {
System.out.println("实现删除方法");
}
}
内部类
代码
package com.qiu.inner;
import java.sql.SQLOutput;
public class Outer {
public class Inner{//成员内部类
public void in(){
System.out.println("我是内部类");
new Inner1().in(); //在内部类里面调用外部内 外部类.方法 不用把实例保存到变量中
new Inner2().in();
}
}
public void in(){
class Inner3{//局部内部类
public void in(){
System.out.println("我是局部内部类");
}
}
}
static class Inner2{//静态内部类
public void in(){
System.out.println("我是静态内部类");
}
}
}
class Inner1{//外部内部类
public void in(){
System.out.println("我是外部类");
}
}



