匿名子类对象

匿名对象的意义:一般只使用一次,图方便,不需要重新写一个类。

 

匿名类通常都是的形式结构通常都是:

abstract class A ...

创建匿名类:

A a1 = new A(){

重写所有抽象类的方法
}

package AbstractTest2;

public class Test {

    public static void main(String[] args) {
        
        Person p1 = new Student();  //非匿名对象,非匿名的类
        method(p1);
        System.out.println("************");
        method(new Student()); //匿名对象
        System.out.println("************");
        Person p2 = new Person() {

            @Override
            public void eat() {
                System.out.println("人  吃饭");
                
            }

            @Override
            public void breath() {
                System.out.println("人  呼吸");
                
            }
            // 匿名的类,非匿名对象
        };
        method(p2);  
        System.out.println("************");
        
        method( new Person() {

            @Override
            public void eat() {
                System.out.println("人 新的吃饭");
                
            }

            @Override
            public void breath() {
                // TODO Auto-generated method stub
                
            }
            
        }); //匿名对象,匿名类
        
        
    }
    
    
    public static void method(Person p) {
        p.eat();
    }

}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/418215.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

内部类访问局部变量的时候,为什么变量必须加上final修饰

这里的局部变量就是在类方法中的变量,能访问方法中变量的类当然也是局部内部类了。我们都知道,局部变量在所处的函数执行完之后就释放了,但是内部类对象如果还有引用指向的话它是还存在的。例如下面的代码: class Outer{ …

创建接口匿名实现类的对象的四种方法

package InterfactTest; public class InterfaceTest { public static void main(String[] args) { // TODO Auto-generated method stub Computer com new Computer(); com.transferData(new Print()); //创建了非匿名实现类的匿名对象 …

Thinkphp 数据库配置参数

mysql配置 DB_USER > array(DB_TYPE > mysql,DB_HOST > 127.0.0.1,DB_NAME > blog,DB_USER > root,DB_PWD > ,DB_PORT > 3306,DB_PREFIX > ,DB_CHARSET> utf8, // 字符集), Oracle配置(模式) DB_DATA > array(DB_TYPE >…

代理模式简单模板

package ProxyTest;//接口的应用:代理模式public class NetWorkTest {public static void main(String[] args) {Server se new Server();new ProxyServer(se).browse();} }interface NetWork{void browse(); }//被代理类 class Server implements NetWork{Overridepublic voi…

写出gradle风格的groovy代码

写出gradle风格的groovy代码 我们先来看一段gradle中的代码: buildscript {repositories {jcenter()}dependencies {classpath com.android.tools.build:gradle:2.1.2} }allprojects {repositories {jcenter()} }task clean(type: Delete) {delete rootProject.buil…

这个社会根本不存在值得我们去仰视的人和事

想改变世界,从整理床铺开始。如果你每天早上整理床铺,你就完成了一天中的第一个任务,这会给你小小的自豪感,并激励你去完成另一个任务,一个接一个的任务。一天下来,每个已经完成的小任务会积累成很多大任务…

ipv6问题

1)百度搜索:针对苹果最新审核要求为应用兼容IPv6 2) ipV6测试网址:http://test-ipv6.com/ http://ipv6.jmu.edu.cn/ http://ipv6test.google.com/   你可以在浏览器输入这些地址,测试你是否已经使用了ipv6地址。 3&a…

JAVA8后接口的新特性

知识点一: 知识点二: 知识点三: 知识点四: 知识点五:

抽象类和接口的共同点和区别

抽象类和接口个共同点和区别: 共同点: 不能实例化,都可以被继承 不同点: 抽象类有构造器,单继承性 接口没有构造器,多继承性

mybatis里oracle与MySQL的insert_update

需求&#xff1a;gisdata表中插入数据&#xff0c;如果wxid数据存在就更新&#xff0c;不存在就插入 Mysql的mybatis配置 1 <?xml version"1.0" encoding"UTF-8"?>2 <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" 3…

input的type属性的修改

记录一下成长的历程吧&#xff01; 刚开始写&#xff0c;没什么文笔&#xff0c;也没什么技术含量&#xff0c;可能主要的是纪录一下平常工作学习中遇到的问题&#xff0c;以及解决的办法吧。或者只有问题&#xff0c;没有解决办法。 前两天项目中遇到的一个问题&#xff0c;由…