package line;
abstract class Method1{
abstract void fun1();//抽象方法可以是一个也可以是个
abstract void fun2();
//void fun1();//这种是不行的 会报错
public Method1() {//可以有构造函数 一般用protect 保证其被子类调用而不被其他类调用
System.out.println("我是构造方法");
}
}
class MethodA extends Method1{
@Override
public void fun1() {
// TODO Auto-generated method stub
System.out.println("A中的fun1");
}
@Override
public void fun2() {
// TODO Auto-generated method stub
System.out.println("A中的fun2");
}
public MethodA() {//继承父类的构造方法
super();
}
}
//接口中的成员不能使用transient volatile synchronized private protected修饰
interface method3{
}
interface method2{
int se=123;//接口中常量定义的方法 默认具有public final static属性
void fun3();//在接口中声明的方法默认具有public和abstract属性 同样只进行方法声明而不进行方法实现
void fun4();
}
interface Son extends method2,method3{//子接口继承父接口 一个接口可以有多个父接口 与抽象类不同之点
public void fun4();
}
class MethodB implements Son{
@Override
public void fun3() {
// TODO Auto-generated method stub
System.out.println("funB3了解一下");
}
@Override
public void fun4() {//子接口中同名的方法重新写了父接口中的方法
// TODO Auto-generated method stub
System.out.println("重写的funB4了解一下");
}
}
public class text {
public static void main(String[] args) {
// TODO Auto-generated method stub
//new Method();//会报错 抽象类是不能被实例化的
MethodA t= new MethodA();
t.fun2();
t.fun1();
MethodB t1=new MethodB();
t1.fun3();
t1.fun4();
}
}