面向对象(匿名对象的使用)

讲个小知识点,匿名对象,匿名就是没有名字,不起名字是对象的简写格式,有自己的应用场景,也有自己的弊端。

new Car().num = 5;一执行完就垃圾了

new Car().color = "blue";一执行完就垃圾了

new Car().run();//匿名对象调用方法有意义,里面有内容,而调用属性

Car c = new Car();

c.run();

new Car().run();

Car c = new Car();

c.run();

c.num = 4;

new Car().run();

*/

//匿名对象使用方式一:当对对象的方法只调用一次时,可以用匿名对象来完成,这样写比较简化。

//如果对一个对象进行多个成员调用,必须给这个对象起个名字。

//匿名对象使用方式二:可以将匿名对象作为实际参数进行传递。

凡是简化的都有局限性,三元运算符是ifelse的简化,有局限性,必须有运算结果。

Car q = new Car();

show(q);

//show(new Car());//这个对象有名字了,有引用,不再是垃圾

}

//需求:汽车修配厂。对汽车进行改装,将来的车够改成黑车,三个轮胎。

public static void show(Car c)

{

c.num = 3;

c.color = "black";

c.run();

}

直线完毕后,对象没有引用了就变成垃圾,涉及到强引用,其实涉及到弱引用的问题。其实开发中真想让对象变垃圾q=nul,明确指定一下。引用不指向你了。其实java中写缓存程序,就要指定对象生命周期到底有多长。不指定的话虚拟机收,虚拟机收不定时。这时把对象释放出来时就要考虑到强引用,软引用,弱引用和虚引用。优化内存用的。后面时会讲,利用java给我们提供的对象。

时间: 2024-08-01 22:42:59

面向对象(匿名对象的使用)的相关文章

java面向对象 - 匿名对象

一.匿名对象 1. 创建的对象,没有显示的赋给一个变量名,即为匿名对象. 2. 匿名对象只能调用一次 二.匿名对象使用 class Phone { private int price; public void sendMail() { System.out.println("send your mail~"); } } class PhoneMall { public void show(Phone phone) { phone.sendMail(); } } class PhoneT

JAVA之旅(四)——面向对象思想,成员/局部变量,匿名对象,封装 , private,构造方法,构造代码块

JAVA之旅(四)--面向对象思想,成员/局部变量,匿名对象,封装 , private,构造方法,构造代码块 加油吧,节奏得快点了 1.概述 上篇幅也是讲了这点,这篇幅就着重的讲一下思想和案例 就拿买电脑来说吧,首先,你不懂电脑,你去电脑城买电脑,和大象装冰箱里一样,是什么步骤?咨询 砍价 ,谈妥了就那电脑走人,对吧,这就是面向过程的思想,而面向对象是:你有一个哥们,他懂电脑,什么都会,你只要带他去,就行,你这个哥们就是对象,在JAVA中,我们就是操作一个对象去完成各种各样的操作的,这就是面向对

面向对象、匿名对象、构造方法

1. 类和对象的关系 :类是对同一类事物(对象)的抽象,对象实际存在的该类的各种实体. 2. 面向对编程的核心:找合适的对象来做合适的事. 3. java中如何来找到对象: (1).sun自己定义好的类,必须知道这个类. (2).自定义类,通过自定义的类来出创建对象. 4. 类的格式 : class 类名 { //1.属性(成员变量) :描述对象的公共特性.. //2.方法 :描述对象的公共行为. } 如何通过类创建对象: 类名对象名 = new  类名(); 5. 匿名对象 :没有名字对象 匿

java匿名对象_面向对象

class Student{ public void tell(){ System.out.println("Hello jikexueyuan"); } public void main{ Student stu=new Student(); stu.tell(); //匿名对象可以直接new 但是只能使用一次 new Student.tell(); } }

面向对象_匿名对象

匿名对象使用方式一:当对对象的方法只调用一次时 可以使用匿名对象来完成 这样比较简化 如果对一个对象进行多个成员调用必须给这个对象取个名字 匿名对象使用方式二:可以将匿名对象作为实际参数进行传递 1 public class Object_Anonymity { 2 public static void main(String[] args) { 3 Car c=new Car(); 4 c.color="blue"; 5 c.run(); 6 7 //用匿名对象表示如下: 8 new

面向对象基础——构造方法与匿名对象

什么是构造方法? 只要有一个对象实例化则就会调用构造方法. 在构造方法中要注意以下几点: -构造方法的名称必须与类名一致 -构造方法的声明处不能有任何返回值类型的声明 -不能在构造方法中使用return返回一个值. class Person{ public Person(){ // 声明构造方法 System.out.println("一个新的Person对象产生.") ; } }; public class ConsDemo01{ public static void main(St

Java——面向对象进阶(final关键字,static关键字,匿名对象,内部类,包的声明与访问,四种访问修饰符,代码块)

一.final关键字 继承的出现提高了代码的复用性,并方便开发.但随之也有问题,有些类在描述完之后,不想被继承,或者有些类中的部分方法功能是固定的,不想让子类重写.可是当子类继承了这些特殊类之后,就可以对其中的方法进行重写,那怎么解决呢? 要解决上述的这些问题,需要使用到一个关键字final,final的意思为最终,不可变.final是个修饰符,它可以用来修饰类,类的成员,以及局部变量. 1.修饰类 被final修饰的类不可以被继承,但是可以继承其他类. class Yy {} final cl

面向对象(匿名对象的概述与应用)

什么是匿名对象? 没有名字的对象 匿名对象应用场景 调用方法,仅仅只调用一次的时候 节省代码 注意:调用多次的时候,不适合.匿名对象调用完毕就是垃圾.可以被垃圾回收器回收 匿名对象可作为实际参数传递 匿名对象只适合对方法的一次调用,因为调用多次就会产生多个对象,不如用有名字的对象 匿名对象是否可以调用属性并赋值?有什么意义? 匿名对象可以调用属性,但是没有意义,因为调用后就变成垃圾 如果需要赋值还是用有名字对象 public class Test05 { public static void m

this/super/static/final/匿名对象/继承/抽象类/访问权限修饰符

1.this关键字的作用     1)调用本类中的属性;     2)调用本类中的构造方法;且只能放首行,且必须留一个构造方法作为出口,即不能递归调用     3)表示当前对象; 2.匿名对象     直接new出来的对象,不创建变量名,且只能使用一次,通常作为方法的参数及返回值使用 3.继承     继承是面向对象的三大特征之一,通过关键字:extends实现,被继承的类称为父类(也称作基类/超类),实现继承的类称为子类(也称作派生类).     特点:     (1)通过继承,子类可以直接访