您当前的位置:《Java语言程序设计》听课笔记:21
《Java语言程序设计》听课笔记:21
abstract 类
。它是没有具体对象的概念类
。不能实例化对象,但可以声明其对象引用
。只能作父类
。抽象类中可以包含抽象方法,也可以不包含抽象方法。
但有抽象方法的的类必是抽象类
。子类必须实现父类中的全部抽象方法,否则子类仍然是抽象类,仍不能实例化对象
e.g:
abstract class A{abstract void f();
abstract void g();}
abstract class B extends A
{void f(){System.out.println("BB");}}
class D extends B
{void g(){System.out.println("DD");}}
class E
{public static void main(String args[])
{D d=new D();
d.f();//BB
d.g();//DD
//A a=new A();非法
//B b=new B();非法
}}
e.g:
abstract class A{abstract void f();}
class B extends A
{void f(){System.out.println("BB");}}
class D extends A
{void f(){System.out.println("DD");}}
class E
{public static void main(String args[])
{A a;
a=new B();
a.f();//BB
a=new D();
a.f();//DD
}}
e.g:
abstract class A{abstract void f();}
abstract class B extends A
{void f(intx){System.out.printlnn("BB"+x);}}
class D extends B
{void f(){System.out.println("DD");}}
class E
{public static void main(String args[])
{A a=new D();
a.f();//DD
//a.f(2);非法
B b=new D();
b.f(2);BB2
}}
父类的对象引用访问子类成员除了覆盖的情况可以访问,其他的不能访问
。[public][abstract|final] class 类名 [extends 父类名] [implements 接口名表]
。[public|protected|private][static][final|transient][volatile] 类型符 成员变量名
。[public|protected|private][static][final|abstract][native][synchronized] 类型符 成员方法名([参数表])[throws 异常列表]{方法体;}
 
第七章 包和接口
7-1 包
包是一个类名空间,同一个包中的类(或接口)不能重名,不同包中的类可以重名
Java没有全局变量和全局方法
包名.类名.成员名
包是若干相关类,接口,(子)包的集合
可以理解为文件夹,是一种封装机制
包名通常全部小写
 
包的创建
package语句必须作为Java源文件的第一条语句
表示该源文件中定义的全部类都属于这个包
一个源文件中最多只能有一条package语句
若缺省该语句,系统会为每一个*.java源文件创建一个无名包
无名包中的类不能被其他包的类所引用,无名包也不能有子包
package 包名;
package java.awt
package a;
包的引用
import 包名;  import java.lang;
import 包名.类名; import java.lang.String
import 包名.*;  import java.applet.*;(*是通配符,表示该包中的所有类)
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
收藏状态
收藏本课程的同学
相关课程