JAVA经典基础问题之 抽象类与接口
一、抽象类注意事项:
1,抽象类中可以用0+个抽象方法。
2,有抽象方法的的类必须是抽象类。
3,抽象类派生的非抽象子类必须实现抽象类中定义的所有抽象方法。
4,抽象类不能创建对象。
5,abstract 不能与final并列修饰同一个类
6,abstract不能与private,static ,final,native并列修饰同一方法。
package com.wensefu.abstrator;
public abstract class AbParent {
protected int b;
public int c;
int d;
/*
* 抽象类可以有非抽象方法
*/
public void unabstract(){
System.out.println("parent unabstract");
}
/*
* 由于子类必须实现抽象父类的抽象方法,故
* abstract 不可与private,static,final,native并列修饰同一个方法
* 抽象类方法默认修饰符为friendly,即包可见
*/
//private abstract void abstr(); !error
public abstract void abstr();
}
package com.wensefu.abstrator.extend;
import com.wensefu.abstrator.AbParent;
public class AbChildExtend extends AbParent {
@Override
public void abstr() {
// TODO Auto-generated method stub
System.out.println("child abstr");
}
public static void main(String[] args) {
AbChildExtend a=new AbChildExtend();
a.b=1;
a.c=2;
a.abstr();
a.unabstract();
}
}
package com.wensefu.abstrator;
public abstract class Child extends AbParent {
public abstract void abstr();
public static void main(String[] args) {
System.out.println("抽象类的抽象子类可以不实现父类中的抽象方法");
}
}
二、接口。
1,接口的修饰符有两种:public 和默认。
2,接口中方法的默认修饰符为public abstract,接口中方法的方法体可以由java编写,也可由其他语言编写,由其他语言编 写时,方法需由native修饰。
3,接口中定义的数据成员全是final static ,即常量。
4,接口中方法全为抽象方法。
5,接口亦具有继承性,可以通过extends声明该接口的父接口。
6,如果实现该接口的类不是抽象类,则该类必须实现接口的所有抽象方法。且应具有完全相同的返回值和参数列表。
7,若实现某接口的类为抽象类,则可以不实现该接口的所有方法。
8,接口的抽象方法都已经指定为public ,所以类在实现方法时,必须显式地使
相关文档:
在之前的一篇文章中,我介绍了如何使用AIR2.0新增的NativeProcess类与本地进程进行交互和通讯,在那个例子里面我们使用了C++
的代码,实际上只要是基于命令行的标准输入输出,AIR2.0的应用是可以和任何语言编写的本地进程进行交互的。在今天的例子中,我们将学习如何和
Java编写的本地进程(.jar文件)进行交互。
上一篇 ......
什么是Java Plug-in
Java-plug-in,也就是我们通常说的Applet与JWS(Java Web Start),从技术上来讲,他们都隶属与RIA(Rich Internet Application)Java Plug-in的存在,使得在浏览器中运行Java程序成为可能,Java Plug-in在浏览器中作为插件存在,它扩展了浏览器的功能,也就是 ......
最近由于要画活动图,所以需要画带有箭头的线段,于是结合有关资料,写出了这个方法。
import java.awt.*;
import javax.swing.*;
import java.awt.geom.*;
public class test//读者可以更改类test的名字,以适合自己定义的.java文件,因为它只是用来测试的。
{
public static void main (String args[]){
&nb ......
import java.io.*;
public class TestMusic{
private AudioFormat format;
private byte[] samples;
public static void main(String args[])throws Exception{
TestMusic sound =new TestMusic("1.wav");
InputStream stream =new ByteArrayInputStre ......