Java中所有的类都有一个公共的父类就是Object类,一个类只要没有明显的继承一个类,则肯定是Object类的子类
Object类中的主要方法
测试toString()
class Test{ // 重写toString()方法 public String toString(){ return "测试成功"; } } public class Hello { public static void main(String[] args) { Test a = new Test(); System.out.println(a); } }
equals()方法主要的功能就是用于对象的比较
class Test{ } public class Hello { public static void main(String[] args) { Test a = new Test(); Test b = new Test(); System.out.println(a.equals(a)); System.out.println(a.equals(b)); System.out.println(b.equals(b)); a=b; System.out.println(a.equals(b)); } }
接收任意引用类型的对象
public class Hello { public static void main(String[] args) { print("45"); int t[]={12,3,4}; for(int i=0;i匿名内部类 匿名内部类顾名思义就是指没有一个具体名称的类,匿名内部类是在接口和抽象类的应用上发展起来的
//定义接口A interface A { //定义抽象方法 public void print(); } //接口实现 class B implements A{ //方法重写 public void print(){ System.out.println("123"); } } class C{ public void a(){ // 传递子类实例 this.b(new B()); } // 接收接口实例 public void b(A c){ c.print(); } } public class Hello { public static void main(String[] args) { new C().a(); } }如果接口的实现类只使用一次的话,那么没有必要单独定义一个子类
使用匿名内部类进行优化
interface A{ public void print(); } class C{ public void a(){ this.b(new A() { @Override public void print() { System.out.println("123"); } }); } public void b(A c){ c.print(); } } public class Hello { public static void main(String[] args) { new C().a(); } }分步解读
new A()直接实例化接口对象
在接口实例化之后要有一个大括号,用于实现接口中的抽象方法
new A(){ public void print() { System.out.println("123"); } }整个代码编写完后,实际上就是一个接口的实例化对象,里面的抽象方法也就实现了。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)