Java修饰符

Java访问修饰符
1- Java修饰符2- 覆盖访问修饰符3- 私有访问修饰符4- 私有构造函数5- 默认访问修饰符6- 受保护访问修饰符7- 公共访问修饰符8- 覆盖方法

1- Java修饰符

在Java有两种类型的修饰符: 访问修饰符 和 非访问修饰符。

Java访问修饰符指定数据成员,方法,构造函数或类的可访问性(范围)。
有4种类型的Java访问修饰符:
  1. private
  2. (Default)
  3. protected
  4. public

有许多非访问修饰符,如 static, abstract, synchronized, native, volatile, transient 等. 在这里,我们将学习访问修饰符。

2- 访问修饰符覆盖

下表显示如何使用访问修饰符的概述说明。
访问修饰符类内访问包内访问包外仅子类访问访问非子类
privateYNNN
DefaultYYNN
protectedYYYN
publicYYYY
你可以看到更多的详细信息请按照下面的例子:

3- private访问修饰符

私有(private)访问修饰符只能在类中访问。

你不能访问私有字段在定义类之外。 Java将在类的编译时通报错误。

4- private构造函数

如果你创建一个类,并有一个私有的构造函数,则无法从私有构造函数来创建这个类的对象。让我们看一个说明性的例子:

5- Default访问修饰符

如果你声明一个字段,方法,构造函数,但你不写明访问修饰符,这意味着这将使用默认(default)的访问修饰符。
默认(default)的访问修饰符的访问范围是在包里面。
// A class with default access modifier
// (Not public).
class MyClass   {

 // A field with private access modifier.
 private int myField;

 // A field with default access modifier.
 // (not specified public, protected, private).
 String myField2;

 // A method with default access modifier.
 // (not specified public, protected, private).
 void showMe()  {

 }
}
在同一个包,你可以访问成员的访问修饰符是默认(default)

而且,不能访问包之外的东西,即使它们是一个子类。

注意:

对于接口,当声明一个字段或方法,需要声明为public。也可以声明默认模式,而Java中的接口默认认为 public。 
public interface MyInterface  {

   // This is a field, you can not declare private or protected.
  public static int MY_FIELD1 = 100;

  // This is a field with default access modifier
  // But Java considering this is a public.
  static int MY_FIELD2 = 200;

  // This is a method, with default access modifier
  // But Java considering this is a public.
  void showInfo();
}

6- protected访问修饰符

保护(protected)访问修饰符作用范围是包内和包外,但要通过继承才能访问。

保护(protected)访问修饰符可以在数据成员,方法和构造上应用。但它不能在类上应用。

7- public访问修饰符

public访问修饰符是允许所有访问。它具有比所有其他修饰符的访问范围更宽。

8- 覆盖方法

你可以以超类的相同方法名称和参数来覆盖超类的方法。不过,不能让这种方法的访问范围有所限制。
在上面的图示:

  1. Cat类是从Animal类扩展并覆盖move()方法; 从protected到public模式重写变更的访问范围。这是有效的。
  2. Mouse类从Animal 类扩展并覆盖move()方法; 覆盖加入更改从protected到默认模式的范围。这减少了原来的方法的访问的范围,因此它是无效的。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值