用于理解抽象类和接口的Demo
1.测试方法:- package com.lyj.test;
-
-
-
- public class A extends AAbstract implements AInterface{
-
- public static void main(String[] args) {
- AAbstract aA=new A(); //定义抽象类
- aA.dMethod();
- //接口调用
- AInterface aI=new A();//定义为接口
- aI.aIMethod();//
- A a=new A();
- }
-
- @Override
- protected void aMethod() {
- System.out.println("aaaaaaa");
-
- }
-
- @Override
- public void bMethod() {
- System.out.println("bbbbbbbbbb");
-
- }
-
- @Override
- public void aIMethod() {
-
- System.out.println("aIiiiiiiiiii");
- }
-
- @Override
- public void bIMethod() {
-
- System.out.println("bIiiiiiiiiii");
- }
-
- }
复制代码
2.接口
- package com.lyj.test;
-
- public interface AInterface {
- //数据成员
- public static final int a=1;//int 也必须初始化
- public String b="";//1接口中定义的方法默认是 static final 的。 2必须初始化。3 必须public
- //数据方法
- public void aIMethod();//a方法
- public void bIMethod();//b方法
-
- }
复制代码
3.抽象类
- package com.lyj.test;
-
- public abstract class AAbstract {
-
- protected abstract void aMethod();//不同包下不能访问
- public abstract void bMethod();//不同包下可以访问
-
- private void cMethod(){
- System.out.println("ccccccccc");
-
- };
- public void dMethod(){//抽象类中可以有实现的方法
- aMethod();//实现类中 可以调用自己的抽象方法 反正谁继承我谁就可以用我的方法
- bMethod();
- cMethod();
-
- System.out.println("dddddddddd");
- };
-
- }
复制代码 |
|