摘要: 动态绑定也指多态:是指在执行期间(而非编译期间)判断所引用对象的实际类型,根据其实际的类型调用其相应的方法, 下面的例子是根据Lady对象的成员变量pet所引用的不同的是积累形成而调用相应的enjoy方法 多态:要有继承;要有重写;父类引用指向子类对象 当这三个对象都被满足的时候调用父类里面被重写的 阅读全文
posted @ 2018-12-27 09:59 禅衣 阅读(205) 评论(0) 推荐(0)
摘要: java等面向对象语言中有一种境界也就是常说的可扩展性,可扩展性在实际的项目开发当中非常重要,假如说你盖了一幢大楼,想要在添加某类东西,第二个项目工程师如果把所有结构都基本打乱之后再重新开始,一个是效率的问题,另一个也就是人力、物力以及财力的问题,例如下面例子: class Aniaml { pub 阅读全文
posted @ 2018-12-27 08:37 禅衣 阅读(128) 评论(0) 推荐(0)
摘要: 对象转型: 1、一个基类的引用类型变量可以指向其子类对象 2、一个基类的引用对象不可以访问其子类对象新增加的成员(属性和方法) 3、可以使用引用变量instanceof 4、子类的对象可以当做父类的对象称为向上转型,反之称为向下转型 例如: 标红的的代码内存情况是: 阅读全文
posted @ 2018-12-26 11:44 禅衣 阅读(163) 评论(0) 推荐(0)
摘要: Object 类中定义有: public boolean equals (Object obj)方法 提供对象是否“相等”的逻辑 Object 的equals方法定义为:x.equals(y)当x和y是同一个对象的应用时返回true否则返回false api中的equals的原型是: public  阅读全文
posted @ 2018-12-26 11:08 禅衣 阅读(392) 评论(0) 推荐(0)
摘要: object是所有类的基类 如果没有使用extends关键字指明其基类,则默认基类为object类 public class Person{ ........ } 等价于: public class Person extends Object{ ....... } 在代码第四行中,默认调用toStr 阅读全文
posted @ 2018-12-25 11:28 禅衣 阅读(206) 评论(0) 推荐(0)
摘要: 代码执行结果: name:Alocation:Beijingname:Blocation:shanghainame:Clocation:beijingschool:S1name:Clocation:S2school:shanghai 阅读全文
posted @ 2018-12-25 11:13 禅衣 阅读(120) 评论(0) 推荐(0)
摘要: 1、子类的构造过程必须调用父类的构造方法 2、子类可以在自己的构造方法里面使用super(argument_list)调用父类的构造方法 使用this(argment_list)调用本类的另外的构造方法 如果使用super,则需要写在子类构造方法的第一行 3、如果子类中的构造方法没有显示的调用其基类 阅读全文
posted @ 2018-12-25 10:55 禅衣 阅读(287) 评论(0) 推荐(0)
摘要: 一.super关键字作用 1:主要存在于子类方法中,用于指向子类对象中父类对象。 2:访问父类的属性 3:访问父类的函数 4:访问父类的构造函数 下面看一个例子: 结合上面程序在内存中的分布图如下: 首先从函数的入口进行分析 程序执行到这里时,首先在栈空间里面会产生一个变量cc,cc里面的值是什么这 阅读全文
posted @ 2018-12-24 16:46 禅衣 阅读(381) 评论(0) 推荐(0)
摘要: 1、在子类中可以根据需要对从基类中继承的方法进行重写 2、重写方法必须和被重写方法具有相同对的方法名称,相同的参数列表和返回值类型 3、重写方法不能使用比被重写方法更严格的访问权限 在方法重写的时候注意:对那个方法进行重写尽量copy那个方法,如果在重写 例如: 阅读全文
posted @ 2018-12-24 16:27 禅衣 阅读(248) 评论(0) 推荐(0)
摘要: 1、java中使用extends关键字来实现类的继承,语法规则为 <modifier> class <name> [extends<superclass>] {.......} 2、通过继承,子类自动拥有了基类(superclass)的所有成员(变量和方法) 3、java只允许单继承不允许多继承即一 阅读全文
posted @ 2018-12-24 16:13 禅衣 阅读(240) 评论(0) 推荐(0)