java基础 —- 引用类型的用法

1551-龙同学

发表文章数:45

热门标签

首页 » Java » 正文

java基础 —- 引用类型的用法

引用类型的理解概述:

类,接口一方面是对实物的模拟,另一方面类,接口作为引用数据类型,如同基本数据类型一样,可以作为成员变量,方法参数,方法返回值。

引用类型的使用概述:

  • 成员变量:Class类作成员变量,赋值赋对象;接口作成员变量,赋值赋实现类对象。其中接口成员变量赋值时是通过构造方法或者set()方法传入实现类的对象,接口作方法参数可以用匿名类,或者匿名类暨匿名对象。
  •    返回值:方法返回什么,就用什么类型的变量去接收。
  • 形参:递给方法对象的类型 ,要小于等于形参的类型。 类:类本身的对象,类的子类对象  (小于等于);抽象类:抽象类的子类对象(小于); 接口:实现类的对象(小于)。

 


 

接口作成员变量,方法参数,方法返回值,匿名内部类,匿名对象的最终测试代码:

/**
 * 构造一个接口
 */
interface MyInterface {
    public void method();
}

/**
 * 构造一个类以该接口作为成员变量,方法参数,方法返回值
 */
class MyClass {
    //接口作为成员变量
    private MyInterface myInterface;

    MyClass() {
    }

    //接口数据类型作为方法参数
    public void setMyInterface(MyInterface myInterface) {
        this.myInterface = myInterface;
    }

    //方法返回接口数据类型
    public MyInterface getMyInterface() {
        return myInterface;
    }

    public void show() {
        myInterface.method();
    }
}

/**
 * 构造一个类实现该接口
 */
class MyInterfaceImpl implements MyInterface {
    @Override
    public void method() {
        System.out.println("AAA");
    }
}

public class MyTest {
    /**
     * 新建一个以接口为成员变量的类的对象
     * 测试分别用实现类的匿名对象,匿名内部类,匿名内部类和匿名对象三种方法为set()方法传入参数
     * 测试对象在上述三种方法下调用show()方法
     */
    public static void main(String[] args) {
        MyClass myClass = new MyClass();
        //
        //使用单独定义的实现类
        myClass.setMyInterface(new MyInterfaceImpl());
        myClass.show();//AAA
        //MyInterface a = myClass.getMyInterface(); 当接口成员变量没有名称时,用接口类型接受该成员变量
        //a.method();  AAA  
        //
        // 简化为使用匿名内部类
        MyInterface p = new MyInterface() {
            @Override
            public void method() {
                System.out.println("BBB");
            }
        };
        myClass.setMyInterface(p);
        myClass.show();//BBB

        //进一步简化,同时使用匿名内部类和匿名对象
        myClass.setMyInterface(new MyInterface() {
            @Override
            public void method() {
                System.out.println("CCC");
            }
        });
        myClass.show();//CCC
    }
}

 

 

标签:

未经允许不得转载:作者:1551-龙同学, 转载或复制请以 超链接形式 并注明出处 拜师资源博客
原文地址:《java基础 —- 引用类型的用法》 发布于2021-02-10

分享到:
赞(0) 打赏

评论 抢沙发

评论前必须登录!

  注册



长按图片转发给朋友

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏

Vieu3.3主题
专业打造轻量级个人企业风格博客主题!专注于前端开发,全站响应式布局自适应模板。

登录

忘记密码 ?

您也可以使用第三方帐号快捷登录

Q Q 登 录
微 博 登 录