zoukankan      html  css  js  c++  java
  • Java中的匿名对象

      匿名对象就是没有明确给出名字的对象。一般匿名对象只使用一次,而且匿名对象只在堆内存中开辟空间,而不存在栈内存的引用。

    一个普通的常量字符串就可以表示一个匿名String对象。

    比如可以

    int len = "hello".length();
    

      只要一个类是抽象的或是一个接口,那么其子类中的方法都可以使用匿名内部类来实现。最常用的情况就是在多线程的实现上,因为要实现多线程必须继承Thread类或是继承Runnable接口

    public class AnonymousDemo {
    
    	public static void main(String[] args) {
    		// TODO Auto-generated method stub
    		Thread t  = new Thread(){
    			public void run(){
    				for(int i = 1; i<=4 ; i++){
    					System.out.print(i+" ");
    				}
    			}
    		};
    		t.start();
    	}
    
    }
    

    output: 1 2 3 4   

    public class AnonymousDemo {
    
    	public static void main(String[] args) {
    		// TODO Auto-generated method stub	
    		Runnable r = new Runnable() {
    			
    			@Override
    			public void run() {
    				// TODO Auto-generated method stub
    				for(int i = 1; i <= 4; i++){
    					System.out.print(i+" ");
    				}
    			}
    		};
    		
    		Thread t = new Thread(r);
    		t.start();
    	}
    }
    

    output: 1 2 3 4   

    除此之外,还经常用到的就是为控件添加监听器时。

    匿名对象在实际开发中基本上都是作为其他类实例化对象的参数传递的, 匿名对象实际上就是一个堆内存空间,对象不管是不是匿名对象,都必须在开辟的堆内存空间之后才可以使用。

  • 相关阅读:
    按字母分类的产品组件
    container中的内容 垂直-水平居中
    安卓手机--键盘谈起后 fixed背景图片被键盘顶起的问题
    清除样式的css
    vue 路由(二级)配置及详细步骤
    vue 路由 URL传参
    路由表的组件群
    vue 路由传参
    vue 路由入门(vue-router)
    jQuery对文档的操作
  • 原文地址:https://www.cnblogs.com/aituming/p/4767099.html
Copyright © 2011-2022 走看看