• Java之匿名内部类和包装类


    匿名内部类

    作用: 假如某个类只使用一次,则可以使用匿名内部类,无需再新建该类

    我们上下代码:

    package com.learn.chap03.sec16;
    
    /**
     * 定义接口
     */
    public interface A {
        public void a();
    }
    package com.learn.chap03.sec16;
    
    public class B implements A{
    
        @Override
        public void a() {
            // TODO Auto-generated method stub
            System.out.println("只使用一次");
        }
        
    }
    package com.learn.chap03.sec16;
    
    public class Test {
        
        public void test(A a) {
            a.a();
        }
        
        public static void main(String[] args) {
            Test t = new Test();
            t.test(new B());
            
            // 使用匿名内部类 咱不用再建B类 
            t.test(new A(){
                @Override
                public void a() {
                    System.out.println("匿名内部类,一次性使用!");
                }
                
            });
            
        }
    }

    运行结果:

    只使用一次
    匿名内部类,一次性使用!

    包装类

       每个基本类型都有一个类,此类即为包装类。如图:

    下面通过代码说明下:装箱与拆箱、自动装箱与自动拆箱、包装类的作用

     1 package com.learn.chap03.sec17;
     2 
     3 public class Demo1 {
     4     public static void main(String[] args) {
     5         int a = 1;
     6         Integer i = new Integer(a); // 装箱 把基本变量变成对象变量
     7         int b = i.intValue(); // 拆箱  把对象变量变成基本变量
     8         System.out.println("a="+a+",i="+i+",b="+b);
     9     }
    10 }

    运行结果

    a=1,i=1,b=1

     1 package com.learn.chap03.sec17;
     2 
     3 public class Demo2 {
     4     // 自动装箱和自动拆箱 从JDK1.5开始 引入
     5     public static void main(String[] args) {
     6         Integer i = 1; // 自动装箱的过程 自动把基本数据转换成对象
     7         int m = i; // 自动拆箱 自动把对象转成基本数据
     8         System.out.println("i="+i+",m="+m);
     9     }
    10 }

    运行结果

    i=1,m=1

     1 package com.learn.chap03.sec17;
     2 
     3 public class Demo3 {
     4     // 包装类的作用
     5     public static void main(String[] args) {
     6         String a = "1";
     7         String b = "2";
     8         System.out.println("a+b="+(a+b));
     9         int m = Integer.parseInt(a);
    10         int n = Integer.parseInt(b);
    11         System.out.println("a+b="+(m+n));
    12     }
    13 }

    运行结果

    a+b=12
    a+b=3

  • 相关阅读:
    Ubuntu 10.04安装google拼音输入法
    Ubuntu 10.04 编译Android 2.1源码
    Android make sdk 错误解决方案
    关于android内核从linux内核分支上除名
    odex打包为可用的apk程序
    取得当前屏幕的截图
    android设备作为视频监控客户端的思路
    政府网站群系统选型
    浅谈网站群的一代与二代技术
    我的2013
  • 原文地址:https://www.cnblogs.com/eaglezb/p/5964701.html
Copyright © 2020-2023  润新知