Java

xiaoxiao2021-02-28  99

类篇entry5

关键词: 引用; 类的其他相关内容;

引用

引用如何形成:先声明,后赋予对象,成为引用。抽象类声明进行引用有什么特点? 抽象类声明可以引用所有具体子类对象,此概念可以推广到所有具有父子关系的类,以及接口和实现类。引用可以替换吗? 替换是有原则的:父类引用可以指向子类对象,子类声明不能引用平行级别的其它类的对象,也不能引用父类对象。父类声明和子类声明引用同一个子类对象有什么区别? 父类声明是从父类的角度去引用对象,子类声明是从子类角度引用对象。父类引用子类对象时,可以经过显式的转化赋给子类的声明,但子类的引用赋值给父类的声明则不需要。接口声明进行引用有什么特点? 只能引用实现类对象的接口方法。

引用比较

instanceof的用法:判断某个对象是否为某个类的可引用实例。equals方法:equals方法是object的方法,因此,所有类可以利用它比较本引用和某个引用是否指向同一对象。“==” 如果两边是对象引用则比较的是它们的引用是否相同;如果两边是数值,则比较的是它们的值(如果值类型不同,有可能发生类型转化,例如10==10.0将返回true);如果一边是引用,一边是值,则编译错误。引用比较的案例

类的其它相关内容

类的完整定义形式

[修饰符] class 类名 [extends 父类] [implements 接口名1,接口2] { 类成员变量; 类方法;} 注:其中修饰符为:public、缺省、abstractfinal 不能被privateprotected所修饰。

内部类

内部类就是在某个类的内部又定义了一个类。

匿名内部类

所谓匿名内部类就是在类中需要实例化这个类的地方,通常为方法内, 定义一个没有名称的类。其通常的实现格式为:

格式一: new 类A() { 方法体 } 此时产生的对象是类A的子类对象。 格式二: new 接口A() { 方法体 } 此时产生的对象是接口A的实现类。

匿名对象

匿名对象就是在产生对象时没有显式地为这个对象建立引用。 例如Person p1 = new Person();p1.shout(); 如果改为new Person().shout();就是匿名对象了。

匿名对象在两种情况下经常使用:

如果对一个对象只需要进行一次方法调用。将匿名对象作为参数传递给一个函数调用。

类对象

在java.lang包中有一个特殊的类——Class(注:同关键字class区别的地方是首字母大写),它也继承Object类。

通过调用对象方法getClass而得到Class对象,进而我们可以知道类的相关的一些特性,如:类的名称、类的包、类的方法、类的父类等待。


visitor tracker


转载请注明原文地址: https://www.6miu.com/read-43356.html

最新回复(0)