zoukankan      html  css  js  c++  java
  • 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

  • 相关阅读:
    【前端】Node.js学习笔记
    【前端】Web前端学习笔记【2】
    【Python】我的Python学习笔记【2】【using Python 3】
    【iOS】Foundation框架 学习笔记
    了解数据库对象
    对Bootstrap的粗略认识
    win10电脑突然开不了热点,怎么办
    excel 怎么将表中的空格都转变为0???
    cpno在数据库里面是什么意思??
    ·ps 的暂存盘空间不够
  • 原文地址:https://www.cnblogs.com/eaglezb/p/5964701.html
Copyright © 2011-2022 走看看