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 ,所以类在实现方法时,必须显式地使
相关文档:
关键字: java分页代码实例
package com.hjf.web.view;
public class PageUtil ...{
private int pageSize;//每页显示的条数
private int recordCount;//总共的条数
private int currentPage;//当前页面
publi ......
////////////////////////////////////////////////节点类 TreeNode.java //////////////////////////
package com.tree;
class TreeNode {//包访问权限
long data ;
long x,y;
String adrr;
Tre ......
基于Java的mp3播放器源代码
(1 folders, 2 files, 1.38 KB, 962.53 KB in total.)
源码
(1 folders, 2 files, 1.38 KB, 961.15 KB in total.)
Java写的一个m ......
<!--
@page { margin: 0.79in }
P { margin-bottom: 0.08in }
PRE.western { font-family: "Nimbus Roman No9 L" }
PRE.cjk { font-family: "Nimbus Roman No9 L" }
H1 { margin-bottom: 0.08in }
H1.western { font-family: "Nimbus Sans L", sans-ser ......
注意,请不要被我误导,我没有看其他资料,这是我自己分析的,有些可能是不对的
"DestroyJavaVM" prio=6 tid=0x00316800 nid=0x448 waiting on condition [0x00000000
..0x00a0fd4c]
java.lang.Thread.State: RUNNABLE
"Thread-1" prio=6 tid=0x02f85000 nid=0xd18 waiting for m ......