精华内容
下载资源
问答
  • 匿名内部类创建对象

    2017-08-02 10:58:19
    有两个 APP返回的JSON类型的实体 public class AppResultObj { private String ret_msg;//返回提示信息 private String ret_code;//调用接口的状态码(1 成功 2失败) private Data data;//是一个抽象 ...

    有两个类

    APP返回的JSON类型的实体类

    public class AppResultObj {
    private String ret_msg;//返回提示信息
    private String ret_code;//调用接口的状态码(1 成功 2失败)
    private Data data;//是一个抽象类

    /**
    * 调用成功
    */
    public static final String RET_CODE_SUCCESS="1";
    /**
    * 调用失败
    */
    public static final String RET_CODE_FAIL="2";

    }

    AppResultObj 中用于封装数据的抽象类

    public abstract class Data{
    private String state;//数据返回状态
    }


    我们在写APP对接时需要返回的公共参数由state,我们要多返回其它参数需要继承Data来添加新的属性,但是当我们只需要返回state时,不能用 Data  data = new Data();的形式来创建抽象类,因为抽象类不能new对象,可以通过Data data = new AppResultObj ().getData();这样编译通过,但是data的引用是null同样不可取,但是我们可以使用匿名内部类形式创建对象,Data  data = new Data(){};这个data就可以用来setState();


    匿名内部类方式来new 抽象类或者接口也不是创建本身的对象,而是创建了一个实现或者继承了这个接口或抽象类的实现类对象

    展开全文
  • Java匿名内部类创建对象 package com.lcmoled.ap.apManage.bean.apjson; import lombok.Data; @Data public class ApRestartSend3812 { private int cmd; private ExtendBean extend; private String ser_id;...

    Java匿名内部类创建对象

    package com.lcmoled.ap.apManage.bean.apjson;
    
    import lombok.Data;
    
    @Data
    public class ApRestartSend3812 {
    
    
        private int cmd;
        private ExtendBean extend;
        private String ser_id;
    
        public static ApRestartSend3812.ExtendBean newBuilder() {
            return new ApRestartSend3812.ExtendBean();
        }
    
        @Data
        public static class ExtendBean {
          
            private String cmd;
        }
    }
    
    展开全文
  • 通过匿名内部类创建对象

    千次阅读 2017-07-23 21:48:31
    通过匿名内部类的方式创建一个对象,并且完成一些操作。

    通过匿名内部类的方式创建一个对象,并且完成一些操作。

    String [] arr = {"hello", "world", "welcome", "hello world", "welcome hello world"};
    List<String> list = Arrays.asList(arr);
    Set<String> set1 = new HashSet(list);
    //无序
    set1.forEach(System.out::println);
    System.out.println("--------------------");
    
    //利用TreeSet排序
    Set<String> set2 = new TreeSet() {  //通过匿名内部类来创建对象
        {
            addAll(list);  //创建完对象后执行代码块
        }
    };
    //有序
    set2.forEach(System.out::println);

    排序后:

    这里写图片描述

    这里set2其实是生成一个类TreeSet的子类实例对象,通过匿名内部类的方式。简单方便,并通过代码块实现一些要基础操作。

    展开全文
  • 内部类: 定义在A类中的B类就是内部类,B...创建内部类对象 方法一 先获取内部类对象再调用方法 Outer out = new Outer(); 外部类对象.new 内部类构造方法 Outer.Inner in = out.new Inner(); in.play(); 方...

    内部类:

    定义在A类中的B类就是内部类,B类在A类中的地位和其他成员相同,意思就是说可以相互调用 

    优点:通过内部类可以让java间接的实现多继承

    创建内部类的对象

    方法一
    先获取内部类对象再调用方法
    Outer out = new Outer();
    外部类对象.new 内部类构造方法
    Outer.Inner in = out.new Inner();
    in.play();
    
    方法二
    借助于外部类方法实现内部类方法的调用
    Outer out = new Outer();
    out.show();
    class Outer{
    	int age = 10;
    	class Inner{//内部类
    		int height =  20;
    		public void play() {
    			age+=10;
      	 System.out.println("Inner - play"+ age);
    		}
    	}
    	
    	public void show() {
    		System.out.println("Outer - show");
    		//相当于再使用Inner
    		Inner in= new Inner();
    		in.play();
    	}
    }
    

    局部内部类:

    定义:在一个类中方法中的类


    作用范围:从定义它开始到所在方法的结束
    作用:既保证了代码的私有化,又对代码进行了整理,增加了代码的可读性,操作性

    •  形式:
    class 外部类名{
        外部方法(){
            内部类名{
                内部方法(){
                    
                }
            }
        }
    }
    

    匿名内部类

    匿名内部类(对象):定义在一个类方法中的匿名子类 对象,属于局部内部类
    匿名内部类的作用:用于类的私有化,只让外部类看

    研究匿名对象,匿名子类对象
    class Text1 {
    	public void text1Method() {
    		System.out.println("text1Method");
    	}
    }
    
    class SubText1 extends Text1 {
    	public void text1Method() {
    		System.out.println("SubText1-Method");
    	}
    }
    

    创建匿名对象,完成方法的调用

    new Text1().text1Method();
    

    创建匿名子类对象

    •  方法一 使用已有的子类声明子类对象,并调用方法
    •  应用场景:现成的子类可以用很多次,相同的功能需要多次使用的时候
    new SubText1().text1Method();
    
    •  方法二:直接创建没有名字的Text1类的匿名类对象
    构成:new 父类的名字/父类接口的名字+()+{
        匿名子类的执行体
    };
    
    •  场景:只能使用一次,使用完立即释放,每次都使用不同的功能
    Text1 t = new Text1() {
    			// 重写的Text1中的方法
    			public void text1Method() {
    				System.out.println("匿名");
    			}
    
    			// 子类特有的方法
    			public void bark() {
    				System.out.println("bark");
    			}
    		};
    

    研究匿名内部类作为参数与返回值

    作为参数

    // 普通的匿名对象作为参数
    	public void textCanshu1() {
    		System.out.println(new Text1());
    	}
    
    
    	// 测试匿名内部类对象作为参数
    	public void textCanshu2() {
    		
    		System.out.println(
    
    				new Text1() {
    					public String xiuxiuxiu() {
    						System.out.println("嘟嘟嘟");
    						// com.qinafeng.text.Out$3@4e25154f
    						return "dididi";
    					}
    				}.xiuxiuxiu());
    	}
    

    作为返回值

    //普通的匿名对象充当返回值
    	public Text1 textFanhuizhi1() {
    		return new Text1();
    	}
    
    //匿名内部类充当返回值
    	public Text1 textFnhuizhi2() {
    		return new Text1() {
    			public void xiuxiuxiu() {
    				System.out.println("嘟嘟嘟");
    			}
    		};
    	}
    

     

    展开全文
  • 匿名内部类 面向对象

    2021-04-01 20:49:39
    创建一个匿名内部类对象 ​ new 接口名|抽象类名() { ​ 匿名内部类的类体; ​ } ​ 创建的就是当前这个接口的实现类|这个抽象类的子类 的对象 public class Outer06 { public static void main(String[] args...
  • 匿名内部类方式实现线程的创建 匿名:没有名字 内部类:写在其他类内部的类 匿名内部类作用:简化代码 把子类继承父类,重写父类的方法,创建子类对象合一步完成 把实现类实现类接口,重写接口中的方法,创建实现类...
  • 匿名内部类创建子类或实现类对象 new Test(){} 相当于创建了Test类的子类对象 并且没有类名 创建接口实现类 new 接口名() {};接口实现类的对象 注意 : new 后边是类或者接口名 大括号内是类或者接口中...
  • 匿名内部类也就是没有名字的内部类。这种类的定义之所有没有名称,因为其仅用在使用之处,其他地方也无需要使用。通常和new运算符同时定义类和创建对象。匿名类必须显示地指明其要继承和父类或接口。由匿名类创建的...
  • new Thread(){ @Override public void run(){ int sum = 0; for (int i = 1; i <= 100; i++) { sum += i;...System.out.println(sum);...//匿名内部接口可以创建对象 Runnable r = new Runnable(){ @Override pub...
  • 3 匿名内部类方式的实现线程的创建 4 5 匿名:没有名字 6 内部类:写在其他类的内部 7 8 作用:简化代码,不用单独写一个类,来设置线程任务 9 把子类继承父类,重写父类方法,创建子类对象合成一部...
  • 匿名内部类

    2019-06-26 21:26:00
    不使用匿名内部类创建对象的步骤:‘  * 给你一个抽象类,要求创建该类的子类对象 1.创建子类,继承抽象类 2.重写抽象类中的所有抽象方法 3.new 子类对象 * 给你一个接口,要求创建该接口的实现类对象 1.创建实现...
  • 内部类的介绍定义在另外一个类中的类,叫内部类成员内部类1..new 创建成员内部类必须先创建外部类的实例,然后通过.new 创建内部类对象2..this 可以通过外部类的类名.this去访问外部类的所有属性和方法。...
  • 答:匿名内部类没有构造函数,匿名内部类的创建不是为了像我们正常创建类,之后调用类的,匿名内部类大多用在直接创建对象上(创建对象时可以添加自己的方法,还可以调用外面的类的方法,类似于多重继承),创建之后...
  • 内部类的介绍定义在另外一个类中的类,叫内部类成员内部类1..new 创建成员内部类必须先创建外部类的实例,然后通过.new 创建内部类对象2..this 可以通过外部类的类名.this去访问外部类的所有属性和方法。...
  • ``` public class Test3 { public static void main(String[] args) { Out.inner in = new Out().new inner(); } } class Out{ ...是不是在创建内部类对象时就先创建了一个匿名的外部类对象
  • 匿名:没有名字 内部类:写在其他类内部的类 匿名内部类作用:简化代码 ... 匿名内部类的最终产物:子类/实现类对象,而这个类没有名字 格式: new 父类/接口(){ 重复父类/接口中的方法 }; public class An...
  • System.out.println("匿名内部类!!!"); } }; Inne i=(Inne)p; i.show(); } } (代码中Inne继承Parsent类。) 报错:Exception in thread "main" java.lang.ClassCastException:...
  • 首先,匿名内部类和匿名对象没有什么太大的关联. 匿名对象: 是指,没有名字的对象,只创建一次,也只用一次,然就就没有然后了. 举一个例子: 普通申明一个对象是这样的 A a = new A(); 那么这个时候a就是类A的一个...
  • 匿名内部类 匿名内部类也就是没有名字的内部类。这种类的定义之所有没有名称,因为其仅用在使用之处,其他地方也无需要使用。通常和new运算符同时定义类和创建对象。匿名类必须显示地指明其要继承和父类或接口。由...
  • 因为有时候有的内部类只需要创建一个它的对象就可以了,以后再不会用到这个类,这时候使用匿名内部类就比较合适,而且也免去了给它取名字的烦恼。 2、如果满足下面的一些条件,使用匿名内部类是比较合适的:  ...
  • 详述Java匿名内部类

    2020-04-01 10:52:46
    对于匿名内部类,顾名思义就是没有名字的内部类,因此不能单独存在,必须和创建对象一起存在。其结构为: new 父类构造器([参数列表])|接口(){ ...匿名内部类创建对象一定是普通类或抽象类的子类,一...
  • 匿名对象的概念匿名对象是指创建对象时,只有创建对象的语句,却没有把对象地址值赋值给某个变量。例如:public classPerson{public voideat(){System.out.println();}}创建一个普通对象Person p = new Person();...
  • 匿名对象的概念匿名对象是指创建对象时,只有创建对象的语句,却没有把对象地址值赋值给某个变量。public classPerson{public voideat(){System.out.println();}}创建一个普通对象Person p = new Person();创建一个...
  • 一、匿名对象1、概念匿名对象是指创建对象时,只有创建对象的语句,却没有把对象地址值赋值给某个变量。public classPerson{public voideat(){System.out.println();}}Person p= new Person();//创建一个普通对象new...
  • 如果接口的实现类(或者父类的子类)只需要使用唯一的一次那么这种情况下就可以省略掉该类的定义,而改为使用[匿名内部类]匿名内部类接口名称 对象名 = new 接口名称(){//覆盖重写所有抽象...匿名内部类,在创建对象的时...
  • 匿名对象匿名对象的特点创建匿名对象直接使用,没有变量名。new Person().eat() //eat方法被一个没有名字的Person对象调用了。匿名对象在没有指定其引用变量时,只能使用一次。newPerson().eat(); 创建一个匿名对象...
  • ``` public class Demo { public static void main(String[] args) { Runnable runnable = new Runnable() { @Override ...上述代码中,Runnable接口没有构造器为何还能创建对象runnable?

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 2,223
精华内容 889
关键字:

匿名内部类创建对象