java abstract class和interface的区别
摘要:abstract class和interface在Java语言中都是用来进行抽象类(本文中的抽象类并非从abstract class翻译而来,它表示的是一个抽象体,而abstract class为Java语言中用于定义抽象类的一种方法)定义的,那么什么是抽象类,使用抽象类能为我们带来什么好处呢?抽象类: 声明方法的存在而不去实现它的类被叫做抽象类(abstract class),它用于要创建一个体现某些基本行为的类,并为该类声明方法,但不能在该类中实现该类的情况。不能创建abstract 类的实例。然而可以创建一个变量,其类型是一个抽象类,并让它指向具体子类的一个实例。不能有抽象构造函数或抽象
阅读全文
java程序内存
摘要:转自: http://www.iteye.com/topic/528230java程序内存主要分为了2个部分,包括 stack segment(栈内存区)、heap segment(堆内存区)。 在分析Java程序内存分配情况时,我们从下面这个经常被使用的例子开始吧。 下面程序将打印什么呢? String s1 = new String("abc");String s2 = new String("abc");System.out.print(s1.equals(s2)); // 1System.out.print(s1 == s2); // 2可能大家
阅读全文
Java知识(4)-接口
摘要:接口(interface) 如果一个抽象类中的所有方法都是抽象的,我们就可以将这个类用另外一种方式来定义,也就是接口定义。接口是抽象方法和常量值的定义的集合,从本质上讲,接口是一种特殊的抽象类,这种抽象类中只包含常量和方法的定义,而没有变量和方法的实现。 --接口中的成员都是public访问类型的。接口里的常量默认是用public static final标识的,所以接口中的变量,都是全局静态常量。 --我们可以定义一个新的接口用extends关键字去继承一个已有的接口 --我们也可以定义一个类用im...
阅读全文
Java知识(3)-抽象类
摘要:抽象类(abtract)java中可以定义一些不含方法体的方法,它的方法体的实现交给该类的子类根据自己的情况去实现,这样的方法就是抽象方法,包含抽象方法的类就叫抽象类。--抽象类必须用abstract关键字来修饰;抽象方法也必须用abstract来修饰。抽象类中所有的类必须为抽象的方法--抽象类不能被实例化,也就是不能用new关键字去产生对象。--抽象方法只需声明,而不需实现。--含有抽象方法的类必须被声明为抽象类,抽象类的子类必须覆盖所有的抽象方法后才能被实例化,否则这个子类还是个抽象类。abstract class A{ private int i=1; //在抽象类中可以定义变量 ...
阅读全文
Java知识(1)-关键字final
摘要:根据程序上下文环境,Java关键字final有“这是无法改变的”或者“终态的”含义,它可以修饰非抽象类、非抽象类成员方法和变量。你可能出于两种理解而需要阻止改变:设计或效率。final类不能被继承,没有子类,final类中的方法默认是final的。final方法不能被子类的方法覆盖,但可以被继承。final成员变量表示常量,只能被赋值一次,赋值后值不再改变。final不能用于修饰构造方法。注意:父类的private成员方法是不能被子类方法覆盖的,因此private类型的方法默认是final类型的。1、final类 final类不能被继承,因此final类的成员方法没有机会被覆盖,默认都是fin
阅读全文