当前位置:编程学习 > JAVA >>

Java中的Package.Import.Class以及和C++的比较

2个关键字
extends:一般是继承类,java里面不能多重继承。
 
implements:一般是实现接口,因为java里面不能多重继承,所以出现了接口来实现类似多重继承的功能。
 
一个使用例子:
 
 
[java] 
class Son extends Father implements InterfaceA,InterfaceB,InterfaceC  
 
class Son extends Father implements InterfaceA,InterfaceB,InterfaceC
son 类,继承自father类,同时实现3个接口。 
 
 
 
抽象类
这个有点类似C++里的包含纯虚函数的类,就是,这样的类不能被实例化,只能被继承。
 
抽象类用abstract修饰。
 
抽象方法也用abstract修饰,抽象方法没有方法体,这个跟C++里的纯虚函数是类似的,不过这里不用写“=0”。
 
 
[java] 
abstract class A//抽象类   
{  
       abstract void doSomething();//抽象方法   
       public void doOtherthing()//非抽象方法   
       {  
              int a = 0;  
       }  
}  
 
abstract class A//抽象类
{
       abstract void doSomething();//抽象方法
       public void doOtherthing()//非抽象方法
       {
              int a = 0;
       }
}
抽象类可以有非抽象方法,也可以有自己的数据成员。 
 
抽象类一般用于定义一些方法,然后让其他人去实现,就是类似总设计图。
 
 
 
 
内部类
内部类还是比较简单的,就是在类内部定义的类,4种:常规内部类、局部内部类、匿名内部类、静态嵌套内部类。
 
常规的就是直接在类里面定义的,不能有static成员,可以像使用自己的类一样使用外部类的任何数据;
 
局部的就是在方法内定义的,类似局部变量,先声明类,后实例化;
 
匿名内部类就是类的申明和定义一起出现的,比如:A a = new A() { public void f(){int a = 0;} },甚至可以作为函数的参数,这个在Android开发中很常用;
 
静态嵌套内部类与常规的差不多,只是加了static,只能访问外部类的静态成员,不能访问实例成员。
 
 
 
 
接口类
接口类用interface修饰,其中的方法都是抽象方法,可以用abstract修饰,也可以不用。
 
普通类实现接口类,必须实现其中的所有方法。
 
 
[java] 
interface class A//接口类   
{  
       void doSomething();//抽象方法 可以不用abstract修饰   
}  
 
interface class A//接口类
{
       void doSomething();//抽象方法 可以不用abstract修饰
}
 
 
接口类所有方法都是抽象方法,且成员必须是静态不可变的,即final static。
 
 
接口类一般是供人选择使用的,类似于程序的插件,你可以选择用哪个插件,或者不用哪个插件。
 
 
 
 
 
接口类与抽象类的一些比较
 
  非抽象方法 数据成员 作用 
抽象类 可以有 可以有 类似设计图,设计方法,让别人实现 
接口类 不可以有,全是抽象方法 可以有,但必须是静态不可变的 类似程序插件,让人选择是否安装 
 
 
 
 
 
 
 
 
 
补充:软件开发 , Java ,
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,