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 ,所以类在实现方法时,必须显式地使
相关文档:
/*作用:用户输入自己的名字,显示一句问候语。
时间:2010年4月20日。
作者:enfang.
*/
import java.io.*;
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
class KeyboardReader //作用:从键盘读入数据
{
private BufferedReader reader;
& ......
////////////////////////////////////////////////节点类 TreeNode.java //////////////////////////
package com.tree;
class TreeNode {//包访问权限
long data ;
long x,y;
String adrr;
Tre ......
在java的多线程同步互斥处理中,synchronized是别不可少的东西.
但是如果不清晰的编程的话,也就是乱用synchronized的话,死锁的发生就是离你很近的话题了.
在前面的一个维护中就发现一个死锁的bug.究其原因是开发者没有真正明白多线程的同步互斥,没有意识到死锁的发生,或者说自己认为写的代码不会发生死锁.
死锁的发生一般 ......
windows xp下配置JDK环境变量:
1.安装JDK,安装过程中可以自定义安装目录等信息,例如我们选择安装目录为D:\java\jdk1.5.0_08;
2.安装完成后,右击“我的电脑”,点击“属性”;
3.选择“高级”选项卡,点击“环境变量”;
&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 ......