摘要:
一、String 首先我们要明确,String并不是基本数据类型,而是一个对象,并且是不可变的对象。 查看源码就会发现String类为final型的(当然也不可被继承), 而且通过查看JDK文档会发现几乎每一个修改String对象的操作, 实际上都是创建了一个全新的String对象。 字符串为对象, 阅读全文
摘要:
在Java中static表示“全局”或者“静态”的意思,用来修饰成员变量和成员方法,当然也可以修饰代码块。 Java把内存分为栈内存和堆内存, 栈内存用来存放一些基本类型的变量、数组和对象的引用, 堆内存主要存放一些对象。 2.1、static变量 static修饰的变量我们称之为静态变量,没有用s 阅读全文
摘要:
在使用抽象类时需要注意几点: 1、抽象类不能被实例化,实例化的工作应该交由它的子类来完成,它只需要有一个引用即可。 2、抽象方法必须由子类来进行重写。 3、只要包含一个抽象方法的抽象类,该方法必须要定义成抽象类,不管是否还包含有其他方法。 4、抽象类中可以包含具体的方法,当然也可以不包含抽象方法。 阅读全文
摘要:
继承定义了类如何相互关联,共享特性。对于若干个相同或者相识的类,我们可以抽象出他们共有的行为或者属相并将其定义成一个父类或者超类,然后用这些类继承该父类,他们不仅可以拥有父类的属性、方法还可以定义自己独有的属性或者方法。 同时在使用继承时需要记住三句话: 1、子类拥有父类非private的属性和方法 阅读全文
摘要:
使用封装有三大好处: 1、良好的封装能够减少耦合。 2、类内部的结构可以自由修改。 3、可以对成员进行更精确的控制。 4、隐藏信息,实现细节。 所以封装把一个对象的属性私有化,同时提供一些可以被外界访问的属性的方法, 如果不想被外界方法,我们大可不必提供方法给外界访问。 但是如果一个类没有提供给外界 阅读全文
摘要:
从程序的运行结果中我们发现,a.fun1()首先是运行父类Wine中的fun1().然后再运行子类JNC中的fun2()。 分析: 在这个程序中子类JNC重载了父类Wine的方法fun1(),重写fun2(), 而且重载后的fun1(String a)与 fun1()不是同一个方法, 由于父类中没有 阅读全文