摘要: 1、概念:接口是抽象方法和常量值得定义的集合。本质上,接口是一种特殊的抽象类,这种抽象类只包含常量和方法的定义,而没有变量和方法的实现。 接口定义举例:2、接口特性:(1)接口可以多重实现;(接口可以继承接口,类可以实现接口,类可以继承类)(2)接口中声明的属性(成员变量)默认是public static final的,也只能是public static final的; 这是为了修正C++中多继承容易出现问题(重复的成员变量)。(3)接口中只能定义抽象方法,而且这些方法默认是public的,也只能是public的; 接口中的方法不用加abstruct,默认就是抽象方法,而且只能是抽象方法... 阅读全文
posted @ 2014-04-10 20:36 seven7seven 阅读(247) 评论(0) 推荐(0) 编辑
摘要: 相当于C++中的const(1)final的变量值(成员变量、局部变量(形参))不可被改变;(2)final的方法不能被重写;(3)final的类不能被继承。 阅读全文
posted @ 2014-04-10 19:34 seven7seven 阅读(154) 评论(0) 推荐(0) 编辑
摘要: (1)abstrac关键字类修饰的类是抽象类,用abstract修饰的方法是抽象方法;(2)含有抽象方法的类必须被定义为抽象类;(3)抽象类必须被继承,抽象方法必须被重写(或者将子类也声明为抽象类);(4)抽象类不能被实例化;(5)抽象方法只需声明,不需实现。如:public abstract void enjoy();//抽象方法例如:JAVA笔记9中可以将Animal定义为抽象类(仅改变Animal的定义即可)。public class TestAnimal{ public static void main(String args[]){ Dog d=new Dog("... 阅读全文
posted @ 2014-04-10 15:15 seven7seven 阅读(193) 评论(0) 推荐(0) 编辑
摘要: 1、动态绑定:执行期间(而非编译期间)判断所引用对象的实际类型,根据实际的类型调用相应方法。2、多态存在的三个必要条件(同时):继承、重写、父类引用指向子类对象。 这三个条件满足后,当调用父类中被重写的方法时,实际new的是哪个子类对象,就调用该子类的方法。例子:public class TestAnimal{ public static void main(String args[]){ Dog d=new Dog("dogname","black"); Cat c=new Cat("catname","blue" 阅读全文
posted @ 2014-04-10 14:52 seven7seven 阅读(270) 评论(0) 推荐(0) 编辑
摘要: 1、规则(1)基类(父类)的引用类型变量可以指向其子类对象;(向上转型)(2)基类的引用不可以访问其子类对象新增加的成员(属性和方法);(3)可以使用“引用变量 instanceof 类名”来判断该引用变量所指向的对象是否属于该类(或该类的子类);(4)子类对象可以当做基类对象来使用,即基类引用指向子类对象,是向上转型(upcasting);反之,向下转型(downcasting)。例1:public class TestAnimal{ public static void main(String args[]){ Animal a=new Animal("name"); 阅读全文
posted @ 2014-04-10 14:12 seven7seven 阅读(416) 评论(0) 推荐(0) 编辑
摘要: 位于rt.jar\java\lang\Object.classObject类是所有Java类的根基类(Java中只有一个根基类,C++中有多个)。如果在类声明中未使用extends关键字指明其基类,则默认其基类为Object类。所有对象,包括数组,都实现了Object类的方法。1、toString()方法蓝色高亮行代码等价于d.toString()。输出:d:=Dog@757aef。重写toString()方法:2、哈希编码3、equals()方法例题:public class TestEquals{ public static void main(String args[]){ ... 阅读全文
posted @ 2014-04-10 12:04 seven7seven 阅读(1600) 评论(0) 推荐(0) 编辑