equals()首先比较的是new 引用的地址。要想比较类中的属性,就得重写equals(),==也是比较引用的地址。
if(this==obj) 地址比较 ,equals(Object obj)对象地址
(getClass获得类属性对象 ! = obj目标.数据123)
if(this==obj) 地址比较 ,equals(Object obj)对象地址
(getClass获得类属性对象 ! = obj目标.数据123)
2017-04-18
看不懂的人,你们不要过度关注代码的写法,你们应该把上两节课中的UML好好看一下,在哪里你们能看到 这一节中 不同类的关系、类的组织手法,以及其他的信息(都与代码无关的);不要急着学完这一季度 的课程
2017-04-17
1、接口特点:只定义抽象方法和静态常量,方法只能public修饰。2、为什么使用接口:java的类只能继承一个父类,用接口实现多继承,比如狗既是动物,也是宠物,java中它只能选择继承动物类或宠物类其中之一,C++可以两个都继承,而java中实现多继承就是用接口。3、为什么不直接在类中把方法体写出来而在接口中定义,类中写方法:①方便知道有哪些方法,如果一个类中有很多方法,一个个去找很麻烦,直接看接口中有哪些方法一目了然。②接口是种规范,定义了标准,比如顾客给我们接口标准,定义好了方法名是play(),我们公司来实现方法具体功能,我们也要用play(),而不能乱取名,与顾客的程序对接不上。
2017-04-17
1、只给出方法定义不给具体实现的方法称为抽象方法,代码上看就是方法后面没有{},当然也可以包含具体变量和方法,而包含一个或多个抽象方法的类必须声明为抽象类。抽象方法和抽象类前面都要有abstract。2、抽象类不能实例化,如本课中Telphone tel = new Telphone;是不行的。3、抽象类不能直接使用,必须用子类去实例抽象类,然后使用子类的实例。Telphone tel1 = new Cellphone();tel1.call();4、抽象方法必须再子类中被实现,即抽象类中的抽象方法没有{}里面的具体实现,要在子类中写出来。
2017-04-17