Java中匿名子类 的 匿名对象、匿名子类 的 非匿名对象、非匿名类 的 匿名对象、非匿名类 的 非匿名对象
/*** @Author: YuShiwen* @Date: 2020/11/18 2:06 PM* @Version: 1.0*/
public class AnonymousTest {public static void main(String[] args) {//非匿名类 的 非匿名对象,即类名为Freshman,对象名为:freshmanFreshman freshman = new Freshman("Mr.Yu",18);freshman.setUniversity();System.out.println(freshman);//非匿名类 的 匿名对象,即new Freshman("Ms.cheng", 18),知其类名为Freshman,对象名匿名了freshman.printStudent((new Freshman("Ms.cheng", 18)));//匿名子类 的 非匿名对象,即以下语句,// 知其父类名为Student,不知其子类名,创建了子类对象名为:firstClassStudent 用父类接收Student firstClassStudent = new Student("小明",19) {@Overridepublic void setUniversity() {this.school = "Tsinghua University";}};firstClassStudent.setUniversity();System.out.println(firstClassStudent);//匿名子类 的 匿名对象,即以下语句// 知其父类名为Student,不知其子类名,用子类创建对象,也不知其对象名freshman.printStudent(new Student("小华",18) {@Overridepublic void setUniversity() {this.school = "Peking University";}});}}//抽象类
abstract class Student{String name;int age;String school;public Student() {}public Student(String name, int age) {this.name = name;this.age = age;}@Overridepublic String toString() {return "Student{" +"name='" + name + '\'' +", age=" + age +", school='" + school + '\'' +'}';}public abstract void setUniversity();}class Freshman extends Student{public Freshman() {}public Freshman(String name, int age) {super(name, age);}@Overridepublic void setUniversity() {this.school = "Yangtze University";}public void printStudent(Student student){System.out.println(student);}}
输出结果:
Student{name='Mr.Yu', age=18, school='Yangtze University'}
Student{name='Ms.cheng', age=18, school='null'}
Student{name='小明', age=19, school='Tsinghua University'}
Student{name='小华', age=18, school='null'}Process finished with exit code 0
Java中匿名子类 的 匿名对象、匿名子类 的 非匿名对象、非匿名类 的 匿名对象、非匿名类 的 非匿名对象相关推荐
- Java开发知识之Java中的集合上List接口以及子类讲解.
Java开发知识之Java中的集合类 一丶什么是集合类 如果你学习说数据结构,那么学习集合就很简单. 因为集合就是存储数据的结构. 例如 有链表结构 (list ) 还有 map结构.等等. 集合类就 ...
- Java 中父类一定可以强转成子类吗??
1 父类类型变量指向子类对象,不用强转: 如: Object a =new A(); public class SocketTest {public static void main(Strin ...
- java中的CAS和原子类的实现
什么是CAS CAS的全称为Compare-And-Swap,直译就是对比交换.是一条CPU的原子指令,其作用是让CPU先进行比较两个值是否相等,然后原子地更新某个位置的值,经过调查发现,其实 ...
- java中对象的生存期_Java中对象的生存周期
文章目录 JAVA对象的生存周期 1.创建阶段(Created) 为对象分配内存需要考虑的问题 2.应用阶段(In Use) 3.不可见阶段(Invisible) 4.不可达阶段(Unreachabl ...
- java中形参不可以是对象吗_(重要)java都是值传递,与对象形参所指向的对象改变,其实参所指向的对象也相应改变并不矛盾(2011年9.30日一天写的两个程序的总结结果)...
1.0建立二叉树的代码,在java中必须创建二叉树的方法必须用返回值,因为不存在c语言中的引用传递,在java中只有值传递 代码1为正确,代码2(没有使用返回值)为错误.那么为什么之前的例子中将对象作 ...
- java中的静态、动态代理模式以及Spring中的CgLib动态代理解读(面试必问)
java中的静态.动态代理模式以及Spring中的CgLib动态代理解读(面试必问) 静态代理 动态代理 CgLib动态代理 基础知: 反射知识 代理(Proxy)是一种设计模式,提供了对目标 ...
- java中构造函数使用(一)
Java中构造函数不能被继承.子类在继承父类的时候,首先运行父类构造函数,也就是说,运行子类时会先调用父类的构造函数.构造函数一般用来初始化成员属性和成员方法. Java中构造函数不能被继承. 解析: ...
- java中,剩下的这两个内部类不太好理解!
点击上方蓝色关注我们! 大家好,我是雄雄,今天我们接着昨天的分享,将剩余的两个内部类(方法内部类和匿名内部类)结束掉,这两个内部类都不太好理解. 昨天的推文:java中常见的几种内部类,你会几个?(未 ...
- java中的多态_Java中的多态
多态与HoFs 朋友们好久不见啊,最近笔者同时在写脚本型语言--JavaScript,和工业级的面向对象语言--Java. 在写代码的同时呢,也会思考这些语言的不同.今天就拿 Java 中的多态,来谈 ...
- java 中线程的创建方式
如果说在java中创建线程的有几种方式的话,归根结底我认为就两种方式 1.继承Thread类,重写run方法 继承Thread类,如下图重写了run()方法 通过start()方法来启动线程 最后的输 ...
最新文章
- 人工智能行业应用之:为建筑工程提供全新解决方案
- 老生常谈,正确使用memset
- html标签table的使用,HTML标签之table
- python面向对象继承_Python 面向对象 --- 继承
- java 文件 递归_JAVA实现遍历文件夹下的所有文件(递归调用和非递归调用)
- c++ amp vs2017 报错_opencv4教程-1 opencv的安装与调试Windows10+vs2017
- VC实现在ListBox中选择背景位图
- FZU 1402 猪的安家 中国剩余定理
- Discuz在Firefox下无法切换至编辑器状态解决(Z)
- UVA299 UVALive5600 Train Swapping【逆序偶+暴力】
- 洛谷——P1155 双栈排序
- 手机 debian linux,Android上的Ubuntu Debian Armel
- CF1151div2(Round 553)
- 领克车机2.0安装 app 方法,亲测有效
- 马哥 linux 活动,马哥linux | Linux系统性能和使用活动监控工具 sysstat
- jit流线制_JIT精益生产实务四—安定化生产.ppt
- 3A算法—自动曝光(AE)
- word背景颜色怎么设置绿色?把word背景调成绿色
- 获取当前的格林尼治时间
- Uniapp 添加Iconfont