小白的JAVA学习笔记(六)---Object类,接口

一、抽象类的总结

1、抽象类可以带有抽象和非抽象的方法

2、如果某个类带有抽象的方法,则该类必须标记为抽象类

3、抽象方法没有内容,声明以分号结束

4、抽象方法必须在具体类中运行

二、Object类(java.lang.Object)

1、Object类是所有类的父类,换言之,JAVA中所有类都是从Object类中继承出来的

2、Object类中的部分方法:equals()//判断两个对象是否意义上相等

                                            getClass()//返回对象在哪里初始化

                                            hashCode()//列出对象的哈希代码

3、Object不是抽象类,它的方法部分可被覆盖

4、不管实际上所引用的对象是什么类型,只有在引用变量的类型是带有某方法的类型时才可调用该方法。编译器根据引用类型来判断哪些方法能够调用,而非Object确实的类型!!

例:

Object o=new Dog();

o.bark();------>错误!!此处引用变量为Object型,而非Dog型!不可调用Dog的bark方法!

5、当你把对象装进ArrayList<Object>时,不管以前它用什么初始化,它只能是Object类型

6、类型转换:(Dog) o

三、多重继承与接口

1、JAVA不允许多重继承,因为可能出现“致命方块”问题

例:Animal中有一个变量i;Dog,Cat继承了Animal,但是Dog.i=1,Cat.i=2;Kell继承了Dog,Cat。如此一来,就有了问题,Kell.i到底是什么呢?

2、接口是100%抽象类,所有接口的方法都是抽象的

3、接口的定义:

例:public interface Pet{

            public abstract void bark();

            public abstract void show();

}

public class Dog extends Animal implements Pet{

            public void bark(){``````}

           public void show(){``````}

           ```````````````````````

}

4、实现接口时必须在某个类的继承下

5、不同继承树的类可以实现相同的接口,一个类可以实现多个接口!!

                                                                                                                                           BY   ZJQ

猜你喜欢

转载自blog.csdn.net/qq_41641805/article/details/81512065