关于Java中修饰 类 , 对象, 方法,域(属性)的一些关键字
Posted kesheng
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了关于Java中修饰 类 , 对象, 方法,域(属性)的一些关键字相关的知识,希望对你有一定的参考价值。
this : this是对象,是对象的别名,又称对象的引用;
this的作用范围在方法中;当通过一个对象调用一个方法时,运行时系统会将当前对象的引用传递到该方法中。
(一般我这样理解:this所在函数属于哪个对象,this就指向该对象)
访问限定词:public , protected , privated:
public:public修饰的方法和域在程序的任何地方都可以被访问,公有的方法可以看作是对象与外界的接口;
一个Java源程序中可以定义多个类,但是最多只能有一个类是public类;
一般地,该public类用于修饰入口函数main()。
protected:被保护的方法或域可以被所在类的其他地方访问;被子类继承后,可以被子类中的其他方法直接访问;
在同一个包中,可以通过对象名直接访问;不是同一个包中的非子类,不能通过对象名直接访问。
private:私有的域和方法只能被其所在类的方法访问或调用,在类体之外不能通过对象名直接访问,
私有域或方法具有最高的保护权限。
static:
修饰域:[访问限定词] static 返回值类型 域名[=初值]; 被static修饰的域称为类域或静态域;
当一个类的所有对象的某个域或某几个域都有相同的值时,应该将这样的域声明为类域;比如,
某公司的雇员出勤情况,可以在雇员类中声明一个 count静态域,每个雇员签到就使count值增加1,
这样就避免了如果每个雇员对象都有一个自己的count,则count无法正确记录出勤人数的情况;
使得无论哪一个雇员对象改变count的值,其他对象都可以得到改编后的count值。(eclipse->Java基础)
静态域可以通过对象名访问,可以被方法访问,更多的是通过类名(类名.静态域名)访问。
修饰方法:static 返回值类型 方法(形参);通过 类名.方法名(实参) 访问; 静态方法一般用于访问静态域。
修饰类:只能是作为某个类的内部类时,才能用static修饰,主类不能用static修饰。
super : super 表示当前类的直接父类
访问继承自直接父类的域:super.域名
调用当前类直接父类的方法:super.方法名(实参)
调用直接父类的构造方法:super(实参); 该语句在子类的构造方法中必须是第一条语句。
final :
final修饰类:final修饰的类称为最终类,形式:final class{ //........ };
最终类不能派生子类,定义最终类的目的是不希望父类中的域被子类隐藏,
以及方法被子类重写,可以对类起到保护作用; 典型的最终类就是String类。
final修饰方法: final修饰的方法称为最终方法,形式:访问限定词 [static] final 返回值类型 方法名(参数);
最终方法可以被子类继承,但不能被子类重写,从而保护子类方法
final修饰域:final修饰的域称为最终域,又称为常量。常量定义形式:public static final 数据类型 域名=初值;
abstract :
修饰类:abstract修饰的类称为抽象类,定义形式:abstract class 类名{ //.............. };
抽象类中可以定义属性和行为,但是所描述的对象是不存在的,抽象的,所以抽象类不能生成对象实例;
抽象类不能用关键字final修饰。
使用抽象类可以将零散的,无关系的类归为一类。
修饰方法:abstract修饰的方法称为抽象方法,定义形式:[访问限定词] abstract 数据类型 方法名([参数]);
抽象方法只有方法的头部,没有方法体;抽象方法应该定义在父类中,便于为子类提供统一的行为;
父类派生出子类后,子类再对继承自父类的抽象方法进行定义;抽象方法一定不能用 final 修饰
抽象类中可以有非抽象方法,也可以有抽象方法。但是,如果一个类中有抽象方法,该类必须定义成抽象类。
以上是关于关于Java中修饰 类 , 对象, 方法,域(属性)的一些关键字的主要内容,如果未能解决你的问题,请参考以下文章