您的位置:首页 > 编程语言 > Java开发

Java教程4_1(2011 06 12)

2011-06-12 22:55 337 查看
Java教程4_1(2011 06 12)
一、继承(extends)
1、一个类可以从父类继承方法和成员变量,还可以增加自己的方法和成员能量。
2、java支持单继承,但可以多层继承,继承的时候是不继承父类的构造方法的,如需要调用,应用super();来调用。子类在调用自身的构造方法前,会先调用父类的构造方法。
二、子类对象的实例化过程
注意:
1、 this或super只能作为第一条语句在构造方法中出现
public Lesson4_1(String name,int age)
{
this.name = name;
this.age = age;
}
public Student1(String name,int age)
{
super(name,age);
}
2、 super()和this调用语句不能同时在一个构造方法中出现
三、覆盖方法
1、覆盖方法必须和被覆盖方法具有相同的方法名称参数和返回值类型
2、在子类中调用父类中被覆盖的方法,可以用super()方法的格式调用
3、在覆盖方法时,不能使用比父类中被覆盖的方法更弱的访问权限
四、final关键字
1、final定义的方法不能被继承,父类中定义final方法,其子类不能对其进行覆盖
2、final定义时,可以在定义时就初始化,如果在构造方法中初始化的话,应放在每个构造方法中初始化(假如有多个构造方法)
3、在final前加上static时,只能在定义时就初始化。
4、最大的浮点数是 Float . Max_Value。(Max_Value是一个构造方法)
四、抽象类
1、说明:抽象类中可以有不是抽象的方法
2、abstract int(int x,int y); 和abstract int(int x,int y){}是不一样,后者实现了方法
五、接口(interface)
1、接口是抽象方法的集合
2、接口是一种特殊的抽象类,这种抽象类中包含常量和方法的定义,而没有变量和方法的实现
3、接口中的成员都是public访问类型的,接口里的变量默认状态是加上public static final的所以,不用我们去加上。
4、可以定义一个类用implements关键字去实现一个接口中的全部方法,我们还可以定义一个抽象类用implements关键字去实现一个接口中的部分方法。
六、对象类型的装换
1、子类对象可以自动装换为父类的
2、父类转换为子类的,是强制类型转换
3、我们可以使用instanceof来判断一个实例对象是否属于一个类 例如(a instandeof B)
4、object类的equals方法用来比较对象中的属性是否一模一样(object类是所有类的子类)
七、面向对象的多态性
1、应用程序不必为每个派生类编写功能调用,只需要对去抽象基类进行处理即可。这叫“以不变应万变”
2、派生类的功能可以被基类的引用变量引用,这叫向后兼容,这用可以提高程序的可扩充性和可维护性
3、a.fun();如果闯进去的是一个子类对象,那执行的是子类的方法
4、一个模拟装配电脑的程序
源代码如下:
interface PCI
{
void start();
void stop();
}
class NetWorkCard implements PCI
{
public void start()
{
System.out.println("Send...");
}

public void stop()
{
System.out.println("stop...");
}
}
class SoundCard implements PCI
{

public void start()
{
System.out.println("du..du");
}

public void stop()
{
System.out.println("sound stop");
}

}
class MainBoard
{
public void UsePCICard(PCI p)
{
p.start();
p.stop();
}
}
public class Assenbler
{
public static void main(String[] args)
{
MainBoard mainBoard = new MainBoard();
NetWorkCard nCard = new NetWorkCard();
SoundCard soundCard = new SoundCard();
mainBoard.UsePCICard(nCard);
mainBoard.UsePCICard(soundCard);
mainBoard.UsePCICard(new PCI()
{
public void start()
{
System.out.println("Test star");
}

public void stop()
{
System.out.println("Test stop");
}
}
);
}
}
运行结果:
Send...
stop...
du..du
sound stop
Test star
Test stop
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: