首页 > 编程知识 正文

类的成员变量和成员方法访问控制符有,成员变量和类变量

时间:2023-05-04 08:27:06 阅读:213876 作者:3652

1. 成员变量

成员变量的修饰

(1) public 公共变量,可被任何包中的任何类访问,只有在确认任何外部访问都不会带来不良后果的情况下才将成员声明为公共的,公共变量对任何类可见,不具有数据保护功能。
(2)private私有变量,由 private 修饰的变量称为私有变量,私有变量是不公开的,它们得到了最好的保护,这是对类进行封装时使用的主要方法。
(3)protected 受保护变量,可以被声明它的类和派生子类以及同一个包中的类访问,而外界无法访问。
(4)package(default),有 package 修饰的变量常常省略 package 关键字,即没有修饰符的成员被视为包成员。

static 静态变量, **静态变量是类固有的,可以直接引用,其他成员变量仅仅在被声明、生成实例对象后才存在,**才可以被引用,因此,把静态变量称作类变量、把非静态变量称为实例变量。

2. 成员方法和参数传递机制

在Java中,方法只能作为类的成员,故称为成员方法。方法操作类定义的数据,以及提供对数据的访问的代码。

大多数情况下,程序的其他部分都是通过类的方法和其他类的实例进行交互的,对象的行为由类的方法实现,其他对象可以调用另外一个对象的方法,通过消息(方法参数)的传递实现对该对象行为的控制。

2.1 成员方法的声明与修饰

[public] [private] [protected] [package] //访问控制修饰符 ,与成员变量的修饰符有相同作用。

final 最终方法
当方法被声明为最终方法后,将不能被子类覆盖,即最终方法能被子类继承和使用,但不能在子类中修改或重新定义。 适用于: 保护一些重要的方法不被修改,尤其是那些对类的状态和行为有关键作用的方法被保护后,可以避免未知情况的发生。注意 : 有时不便于把整个类声明为最终类,这种保护太严格,不利于编程,此时可以有选择的把一些方法声明为最终方法,同样可以起到保护作用。 abstract 方法
一个抽象类可以含有抽象方法,抽象方法是指没有具体方法体的方法,该方法不能实现,所以抽象方法不能出现在非抽象类中。 使用抽象类和抽象方法的原因: 一个抽象类可以定义一个统一的编程接口,使其子类表现出共同的状态和行为,但各自的细节可以不同。子类共有的行为由抽象类中的抽象方法来约束,而子类行为的具体细节则通过抽象方法的覆盖来实现。这种机制可增加编程的灵活性,也是 OOP 继承树的衍生基础。

例如,直线、圆和矩形等图形对象都有一些共同的位置(位置、边界)和行为(移动、改变大小、画出)。可以利用这些共性,把它们声明为同一个父类的子类,但是一个圆和一个矩形在很多细节方面又是不同的,这时,一个抽象父类是最佳选择。 子类继承父类后,可以通过覆盖方法实现自己的方法。

方法参数的传值方式
一个对象和外部交换信息主要靠方法的参数来传递。在 Java中,可传递的参数包括任何数据类型,例如基本数据类型、数组和对象(没错,对象也可以)。 class MyBox {private int x, y, weight, height;…public void draw(Graphics g){g.drawRect(x,y,width,height);}}

Java虽然不能传递方法,但可以传递对象,然后调用该对象的方法。

可变参数
返回值类型 方法名称(类型 参数名 1 , 类型 参数名 2, 类型…可变参数名){}

向方法传递可变参数之后,其中可变参数以数组形式保存下来,如果方法中有多个参数,可变参数必须位于最后一项。

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。