zoukankan      html  css  js  c++  java
  • 面向对象之匿名对象—代码块

    匿名对象的概念:

    匿名对象是指创建对象时,只有创建对象的语句,却没有把对象地址值赋值给某个变量。

    如:已存在的类:

    1 public class Person{
    2     public void eat(){
    3         System.out.println();
    4 }
    5 }

    创建一个普通的类:

    Person p = new Person();

    创建一个匿名对象:

    new Person();

     内部类

        内部类概念

    l  什么是内部类

    将类写在其他类的内部,可以写在其他类的成员位置和局部位置,这时写在其他类内部的类就称为内部类。其他类也称为外部类。

    l  定义格式

    class 外部类 {
    
        修饰符 class 内部类 {
    
            //其他代码
    
    }
    }

    l  访问方式

    外部类名.内部类名 变量名 = new 外部类名().new 内部类名();

     

    1    局部内部类

     

    局部内部类,定义在外部类方法中的局部位置。与访问方法中的局部变量相似,可通过调用方法进行访问

     

    l  定义格式

     

    class 外部类 {
    
    
        修饰符 返回值类型 方法名(参数) {
    
    
    class 内部类 {
    
    
    //其他代码
    
    
    }
    
    
    }
    
    
    }

     

    l  访问方式

     

    在外部类方法中,创建内部类对象,进行访问

    1.1.1      定义匿名内部类的作用与格式

    作用:匿名内部类是创建某个类型子类对象的快捷方式。

    格式:

    new 父类或接口(){
    
        //进行方法重写
    
    };

    代码演示:

     1 //已经存在的父类:
     2 public abstract class Person{
     3     public abstract void eat();
     4 }
     5 //定义并创建该父类的子类对象,并用多态的方式赋值给父类引用变量
     6 Person  p = new Person(){
     7     public void eat() {
     8         System.out.println(“我吃了”);
     9 }
    10 };
    11 //调用eat方p.eat();
    12

    使用匿名对象的方式,将定义子类与创建子类对象两个步骤由一个格式一次完成,。虽然是两个步骤,但是两个步骤是连在一起完成的。

    匿名内部类如果不定义变量引用,则也是匿名对象。代码如下:

    new Person(){
    
        public void eat() {
    
            System.out.println(“我吃了”);
    
    }
    
    }.eat();
    

      

     

  • 相关阅读:
    经验:Library Cache Lock之异常分析-云和恩墨技术通讯精选
    Schnorr 签名算法与聚合签名
    5G 第五代移动通信网络
    《机器学习》周志华西瓜书习题参考答案:第9章
    启动tomcat,在黑色窗口中看到乱码
    Linux系统目录结构以及简单说明
    Linux系统目录结构以及简单说明
    锤子科技官网:问题整理及注意事项
    锤子科技官网:问题整理及注意事项
    锤子科技官网:问题整理及注意事项
  • 原文地址:https://www.cnblogs.com/2734156755z/p/9378547.html
Copyright © 2011-2022 走看看