027.面向对象基础-------匿名对象
本帖最后由 hjg 于 2021-3-27 09:51 编辑早起的鸟儿有虫吃,瞎写的代码有BUG!
大家好,我是一名好久不见的老鱼油了,刚开始接触编程的时候都是看甲鱼老师的视频和来鱼C 论坛找答案 ,经过一段时间的学习,对计算机组成原理 计算机网络 操作系统数据结构与算法 算法设计与分析 C语言 python语言 java语言 and so on 。。的学习,让我在编程方面算是打下了一点儿基础,这次打算记录一下自己学习java的笔记,一来自己可以巩固知识,二来也算是来回馈给甲鱼&&平台。我更喜欢和大家一起学习,互相讨论。。 本人也新写手,文章不足方面还请大家体谅和指点一二。。。。。。
我们开始正文,先欢迎一下。
https://xxx.ilovefishc.com/album/202103/26/213818vaodoqtco7qzkdtd.gif
这篇介绍面向对象基础------匿名对象。。我这个系列打算就接着 非安全哥哥 的系列教程下去,之前没学java的可以先学完安全哥哥的教程再来
https://fishc.com.cn/thread-80133-1-1.html (出处: 鱼C论坛)]他的链接
为什么要面向对象基础呢?{:10_319:}
这边先分析非安全哥哥的目录
https://xxx.ilovefishc.com/album/202103/26/215625g9h06f3870h7a60b.png
那什么叫匿名对象呢?
没有对象名称的对象 就是匿名对象。 匿名对象只能使用一次,因为没有任何的对象引用,所以将称为垃圾,等待被G·C回收。 只使用一次的对象可以通过匿名对象的方式完成,这一点在以后的开发中将经常使用到。
/**
* @quther hjg
* @date 2021/1/28 21:35
**/
public class Demo7 {
/**
* 匿名 : 没有名字
*/
public static void main(String[] args) {
// Math2 m = new Math2();
// int num = m.sum(100,200);
//下面这里没有m
int num = new Math2().sum(300, 200);
System.out.println(num);
}
}
class Math2{
int sum(int x,int y) {
return x+y;
}
}
解释一下:
// Math2 m = new Math2();
// int num = m.sum(100,200);
这边是正常我们命名的做法,下面就是使用匿名的写法
//下面这里没有m
int num = new Math2().sum(300, 200);
还记得 非安全说的 对象的引用和实体 ??里面介绍了 堆(heap) 和 栈(stack)
匿名了的话就会是图里面这样只有堆没有栈 用完就不要了。。。
https://xxx.ilovefishc.com/album/202103/26/221447v37uiio3kl7ill7u.png
下面再来看一段代码
/**
* @quther hjg
* @date 2021/1/28 21:38
**/
public class Demo8 {
/**
* 如果一个对象 , 我们准备使用两次 或 以上。 那么一定要给对象 创建对象名。
* @param args
*/
public static void main(String[] args) {
new Person5().name = "张三"; //三段独立
new Person5().age = 18;
new Person5().say();
}
}
class Person5{
String name;
int age;
void say() {
System.out.println("自我介绍,姓名:"+name+" , 年龄:"+age);
}
}
它的运行结果是这样的 : 自我介绍,姓名:null , 年龄:0
为什么会这样呢?看这张图
https://xxx.ilovefishc.com/album/202103/26/221447iazscw4zeec0acxo.png
解释一下第一行新建一个Person5 :只有name 没有 age
第二行也新建一个Person5 : 只有 age 没有 name
第三行 say 方法也新建一个Person5 name 和 age 都没有
记住一句话:如果一个对象 , 我们准备使用两次 或 以上。 那么一定要给对象 创建对象名。
OK,,结束 下次见 面向对象进阶
可以的话顺手一路四点一下【收藏{:10_277:} 评分{:10_243:}分享{:10_249:}淘帖{:10_334:}顶】 再多多留言 你的支持就是我持续写作的动力!!!
页:
[1]