`

实验五: 创建对象同时创建临时子类

 
阅读更多

package Hello;

 

import org.junit.Test;

 

public class TestHello {

 

@Test

public void test() {

Helloworld hello = new HelloWorldImpl(){

@Override

public String sayHello() {

System.out.println("hello world is refractored");

return "" ;

}

};

 

hello.sayHello();

System.out.println(hello.getClass());

Helloworld hello1 = new HelloWorldImpl();

 

hello1.sayHello();

System.out.println(hello1.getClass());

}

 

 

 

}

 

 

输出结果

 

hello world is refractored

class Hello.TestHello$1

hello world

class Hello.HelloWorldImpl

 

反编译代码

package Hello;

 

import java.io.PrintStream;

 

class TestHello$1 extends HelloWorldImpl

{

  TestHello$1(TestHello paramTestHello)

  {

  }

 

  public String sayHello()

  {

    System.out.println("hello world is refractored");

    return "";

  }

}

分享到:
评论

相关推荐

    MFC程序设计实验课.doc

    实验步骤会详细指导如何在MFC应用中定义资源,创建CMenu、CToolBar和CStatusBar对象,并将它们与视图或框架窗口关联起来。 实验四:对话框 对话框在MFC中用于显示临时的窗口,通常用于收集用户输入或显示信息。实验...

    面向对象程序设计综合实验

    - **类**:是创建对象的蓝图,定义了一组具有相同属性和行为的对象。在C++中,我们通过`class`关键字来声明一个类。例如,`class File`可能定义了一个文件对象,包含了关于文件的操作和属性。 - **对象**:是类的...

    C++上机实验报告实验六.docx

    2. `Point operator++(int)`: 这是前置自增运算符的重载,创建一个新的临时对象,增加坐标值后再返回旧的对象状态。 3. `Point& operator--()`: 后置自减运算符的重载,与自增类似,但减少坐标值。 4. `Point ...

    C++《面向对象程序设计》实验报告4.pdf

    例如,`return Complex(real-c2.real, imag-c2.imag)`表示创建了一个新的复数对象,其值为`c1`减去`c2`的结果,这里的返回值是一个临时对象。 2. **虚函数**: - 虚函数是C++实现多态性的重要手段,它允许子类重写...

    华中科技大学计算机学院C++实验报告实验二.doc

    - **类(Class)**:C++中的类是创建对象的蓝图,它定义了对象的状态(数据成员)和行为(成员函数)。在这个实验中,`STACK`类就是用来表示整型栈的类。 - **封装(Encapsulation)**:通过类,可以将数据和操作...

    4-13实验题目1

    类可以看作是创建对象的蓝图,它们定义了对象的属性(数据成员)和行为(成员函数)。 4. **数据成员**:在类的定义中,`private`和`public`关键字用来声明数据成员的访问权限。`private`数据成员只能在类的内部...

    实验1指导书1

    实验中给出了一个简单的例子,演示了如何在画布上移动文本“Hello”,模拟了对象的位置变化。 3. **实验内容**:该实验要求分析一个计算机测试部门的场景,设计类图来表示部门、测试线、测试员、电脑及其组件(CPU...

    类的继承_实验_魔术猫.rar

    在IT领域,面向对象编程(Object-Oriented Programming, OOP)是一种常用的设计模式,它允许程序员通过定义类来创建对象,并实现代码的复用和模块化。在Delphi编程环境中,类的继承是OOP的一个核心概念,它使得一个...

    POO_0121_Labs:POO_0121的实验室

    - 工厂模式:提供一个创建对象的接口,让子类决定实例化哪一个类。 - 单例模式:确保一个类只有一个实例,并提供全局访问点。 - 观察者模式:定义对象间的一对多依赖关系,当一个对象的状态发生改变时,所有依赖...

    CocoaFundamentals.pdf

    - **工厂的概念:**提供一个创建对象的接口,但让子类决定实例化哪个类。 - **实现方式:**通过定义抽象工厂类和具体工厂类来实现。 3. **单例模式:** - **单例的概念:**确保一个类只有一个实例,并提供一个...

    Java修饰符demo

    静态变量和方法可以通过类名直接访问,无需创建对象。 4. **volatile**:volatile修饰符确保多线程环境下的可见性和有序性。它用于标记共享变量,确保当一个线程修改了这个变量时,其他线程能够立即看到变化。 5. ...

    222018321062006宋行健9

    【知识点详解】 1. **面向对象编程基础** ...通过这个实验,学生宋行健(Song Xingjian)不仅巩固了C++中类、对象、继承、覆盖和重载等基本概念,还实践了数据抽象、开放封闭原则和子类替换原则,提升了C++编程技能。

    java面试宝典

    这行代码创建了 4 个临时 `String` 对象和 1 个最终 `String` 对象。 **38. try{} 里有一个 return 语句,那么紧跟在这个 try 后的 finally {} 里的 code 会不会被执行,什么时候被执行,在 return 前还是后?** `...

    寄存器版 Template初始新建文件

    首先,模板设计模式是面向对象编程中的一个行为设计模式,它定义了算法的骨架,并允许在特定步骤中推迟实现。这样可以允许子类在不改变整体结构的情况下重定义某些步骤。在C++等语言中,模板也可以用于类型安全的...

    C++职工管理系统(多态)

    其次,**继承**允许创建一个新的类(子类),它是现有类(父类)的一个扩展。在这个职工管理系统中,子类可以继承父类的属性和方法,同时添加自己的特性。例如,“部门经理”类可以继承“职工”类的所有属性,然后...

    pf2cho:Cho 博士的编程基础

    类是创建对象的蓝图,它定义了对象的属性(变量)和行为(方法)。 2. **封装**:Java通过访问修饰符(如public, private, protected)实现数据的封装,隐藏内部实现细节,提供公共接口供外部访问。 3. **继承**:...

    KelompokSemester4

    C++是C语言的增强版,由Bjarne Stroustrup于1979年在贝尔实验室创建。它引入了面向对象编程(OOP)的概念,使得代码组织更加模块化,易于维护和重用。C++的主要特点包括: 1. 面向对象:C++支持类(Class)和对象...

    T4-GPG220-1015901-Experiments

    12. **元数据和反射**:C#支持元数据,可以使用反射机制在运行时获取类型信息,动态创建对象,调用方法等。 13. **异构编程**:C#可以与COM组件、C++/CLI代码以及其他.NET语言(如VB.NET、F#)进行互操作。 14. **...

    probable-doodle-copy

    类是对象的蓝图,接口定义了一组方法签名,而继承允许子类继承父类的属性和方法。多态则通过虚方法和抽象方法实现,封装则是通过访问修饰符(public、private、protected等)来控制成员的可见性。 3. **泛型**:C#...

Global site tag (gtag.js) - Google Analytics