java 类的声明

来源:互联网 发布:喜马拉雅 蜻蜓 知乎 编辑:程序博客网 时间:2024/06/08 05:53

类具有封装性,继承性,多态性

封装性体现了细节的隐藏和权限的控制,继承性体现了类的层次结构,多态性体现了方法名相同而实现却不同

java中类的声明形式如下

[修饰符]class 类名[extends 父类] [implements 接口名]{属性(成员变量)->基本数据类型,对象操作(成员方法)->函数}

类声明中的修饰符有public,abstract,final

注意:应用程序类是public的,且一个java文件只能有一个public 类

abstract 类没有实例

final类不能被继承

类的访问即指声明该类的对象或继承该类,显然abstract和final不能同时修饰一个类,否则没有意义,编译时会提示either abstract or final, not both

 

成员变量的声明形式如下

[修饰符]变量类型 变量名[=变量初值]

修饰符有 public,protected,private, private protected,static,final

static变量相当于全局变量

class Account{static int num=0;}public class cam2{     public static void main(String args[])     {     Account a=new Account();     a.num++;     System.out.println(a.num);     Account b=new Account();     b.num++;     System.out.println(b.num);     System.out.println(Account.num);     //Account.num相当于全局变量     }}

输出为

1

2

2

这里可将Account.num视为全局变量

final修饰的变量相当于常量,不能改变

如将整形的最大数加1显然是不允许的

public class cam2{     public static void main(String args[])     {     Integer.MAX_VALUE++;     System.out.println(Integer.MAX_VALUE);     }}

编译时提示The final field Integer.MAX_VALUE cannot be assigned

成员变量不仅可以是基本数据类型,还可以是对象,如下例

class Table{int record=0;void addrecord(){record++;}}class Database{Table t1;Table t2;Table t3;void InitDatabase(){t1=new Table();t2=new Table();t3=new Table();}}public class cam5{public static void main(String args[]){Database db=new Database();db.InitDatabase();db.t1.addrecord();System.out.println(db.t1.record);}}

输出为1

 

成员方法声明的修饰符有public,protected,private,static,abstract,final

static 方法只能处理static修饰的成员变量 

abstract 方法只能出现在abstract类中且没有方法体

final修饰的方法不能被子类覆盖