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

原文地址:https://www.cnblogs.com/eaglezb/p/5964701.html