Java中的Package.Import.Class以及和C++的比较
2个关键字
extends:一般是继承类,java里面不能多重继承。
implements:一般是实现接口,因为java里面不能多重继承,所以出现了接口来实现类似多重继承的功能。
一个使用例子:
[java]
class Son extends Father implements Inte易做图ceA,Inte易做图ceB,Inte易做图ceC
class Son extends Father implements Inte易做图ceA,Inte易做图ceB,Inte易做图ceC
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,只能访问外部类的静态成员,不能访问实例成员。
接口类
接口类用inte易做图ce修饰,其中的方法都是抽象方法,可以用abstract修饰,也可以不用。
普通类实现接口类,必须实现其中的所有方法。
[java]
inte易做图ce class A//接口类
{
void doSomething();//抽象方法 可以不用abstract修饰
}
inte易做图ce class A//接口类
{
void doSomething();//抽象方法 可以不用abstract修饰
}
接口类所有方法都是抽象方法,且成员必须是静态不可变的,即final static。
接口类一般是供人选择使用的,类似于程序的插件,你可以选择用哪个插件,或者不用哪个插件。
接口类与抽象类的一些比较
非抽象方法 数据成员 作用
抽象类 可以有 可以有 类似设计图,设计方法,让别人实现
接口类 不可以有,全是抽象方法 可以有,但必须是静态不可变的 类似程序插件,让人选择是否安装
补充:软件开发 , Java ,