-
2021-02-12 09:52:01
默认什么都不加,就是default(不用把default写出来)。
意思就是只能由跟这个类在同一个包中的类来访问,比private限制更少,但比protected限制更多。'
Java访问修饰符包括private,default,protected和public。含义分别表示私有的,默认的,受保护的和公有的访问修饰符。这些访问修饰符既可以修饰类中的属性,又可以修饰类中的方法,而public和default还可以修饰类。在同一个java文件里,公有类有且仅有一个,并且该文件命名为类名.java。
Java访问修饰符就是确定类中属性或方法的访问权限,换句话说,就是这些属性和方法所起的作用范围。
private,私有的访问权限,也是最严格的访问权限,仅只能在设置了该权限的类中访问,利用这个访问权限,表现出封装思想。
default,默认的访问权限,也是可以省略的访问权限,它不仅能在设置了该权限的类中访问,也可以在同一包中的类或子类中访问。
protected,受保护的访问权限,它除了具有default的访问权限外,还可以在不同包中所继承的子类访问。
public,公有的访问权限,也是最宽松的访问权限,不仅可以是同一个类或子类,还是同一个包中的类或子类,又还是不同包中的类或子类,都可以访问。
要想更深入地理解这些访问权限,一方面需要明白各自的作用域,另一方面更是要弄清楚各自所体现出来的编程思想,比方说,prvite表现的封装思想,public表现的面向接口编程的思想等。
在面向对象设计和编程的过程中,归根结底就是类的设计。而要设计出不仅满足当前需求同时也能符合未来需求的类,就很有必要对类中属性和行为设置合适的访问 权限。那些应该为私有的,那些又应该为公有的,还有那些又应该为受保护的等,都应该给予合理的规划和布局,一来保证程序的功能要求,二来要体现程序的扩展 性能,三来要呈现程序友好性质。总之,程序应该更好地服务用户。而访问权限在这样宏伟目标里扮演着重要角色。
更多相关内容 -
java默认访问修饰符
2021-03-25 08:41:25下列选项中,哪个方法不是 JAVA 的访问修饰符(C) A. private B. protected C. friendly(默认修饰符) D. ......A、break 语句 B、while 语句 C、if 语句 D、for 语句 11、类中的成员默认的访问修饰符是( A )。 A、...java.lapplet.Applet D. java.awt.Frame XXX13.下列选项中,哪个方法不是 JAVA 的访问修饰符(C) A. private B. protected C. friendly(默认修饰符) D. ......
A、break 语句 B、while 语句 C、if 语句 D、for 语句 11、类中的成员默认的访问修饰符是( A )。 A、private B、protected C、public D、空 12、常量......
java.lapplet.Applet D. java.awt.Frame XXX13.下列选项中,哪个方法不是 JAVA 的访问修饰符(C) A. private B. protected C. friendly(默认修饰符) D. ......
24.Java 中访问修饰符的关键字有 public、private 和 protected 。 25.在 Java 的类中,通过实现接口中的抽象方法可以实现 多重 继承关系。 26.若 x=5,y=8......
()访问修饰符修饰后,可以被包 中的子类访问,但不能被 中其他类访问。(选择一项) a) private b) protected c) public d) friendly 45) 在 java 中,使用......
四、简单题(每题 10 分,共 50 分) 1、请列出 java 中常用的访问修饰符(访问控制),并说明其作用。 (1)public: 用 public 修饰的类、类属变量及方法,包......
选择题 1、 JAVA 所定义的版本中不包括:( D ) A、 JAVA2 EE B、 JAVA2 Card C、 JAVA2 ME D、 JAVA2 HE E、 JAVA2 SE 2、 下列说法正确的是( ......
()访问修饰符修饰后,可以被包中的子类访问,但不能 被 中其他类访问。(选择一项) a) private b) protected c) public d) friendly 45) 在 java 中,使用......
在成员方法的访问控制修饰符中, 下列哪个修饰符规定访问权限包含该类自身及同包的 其他类和其他包的该类子类( B )。 A.默认 B.protected C.private D.public......
A、break 语句 B、while 语句 C、if 语句 D、for 语句 11、类中的成员默认的访问修饰符是( A )。 A、private B、protected C、public D、空 12、常量......
(选择两项) a) short x[] b) short[] y c) short[5] x2 d) short z2[5] e) short [] z[][] 56) 在 java 中,访问修饰符限制性最高的是(......
必须是 公有的//Java 类中默认情况下成员变量和方法不是私有的,只要是在同一个.java 文件中, 就是可以访问的,默认的访问修饰符是 final,在当前包内可以访问......
(选一项) 12、下面( B )不是 Java 的访问修饰符关键字. (选择一项...
访问修饰符用于确定访问类成员的方式 Java 常用修饰符有 static、final、abstract 接口是 Java 编程一项重要的技术,同过它可以实现多态,同时它也弥补了 Java 单 一......
void show(int x,int y){ ??} 19 、假设有下面的接口定义 interface Book{ float priceRate=0.05; } 那么其成员属性 priceRate 的默认访问修饰符是( A.......
一、 选择题 1、同一包中的子类可以访问父类中带( A. public B. protected C. firend D. private )访问修饰符的成员?(选择二项) 2、给定如下 Java 代码......
26. 在 Java 程序中,通过类的定义只能实现单重继承,但通过接口的定义可以实现多重继 承关系。 27. 当类的成员未用访问权限修饰符时,Java 默认此成员的访问......
A、break 语句 B、while 语句 C、if 语句 D、for 语句 11、类中的成员默认的访问修饰符就是( A )。 A、private B、protected C、public D、空 12、常量......
下面 访问修饰符修饰的成员允许类本身、同一包中的所有类、不同包中所有子类访问。B A public B protected C private D 缺省 12、在 Java 中,关于面向对象......
{Java 题目}在 java 语言中,使用下列哪种访问修饰符的方法,可以被同一工程中的任何代码调用。(选择 1 项) A)private B)public C)默认 39.{Java 题目}使用......
-
Java中的默认访问修饰符是什么?
2021-03-04 01:21:20Java中的默认访问修饰符是什么?这个问题在这里已有答案:什么是默认访问修饰符? 12个答案如果我没有明确说明方法或实例变量的默认访问修饰符是什么?例如:package flight.booking;public class FlightLog{private...Java中的默认访问修饰符是什么?
这个问题在这里已有答案:
什么是默认访问修饰符? 12个答案
如果我没有明确说明方法或实例变量的默认访问修饰符是什么?
例如:
package flight.booking;
public class FlightLog
{
private SpecificFlight flight;
FlightLog(SpecificFlight flight)
{
this.flight = flight;
}
}
此构造函数的访问修饰符是受保护的还是包的? 同一个包中的其他类,也就是flight.booking,可以调用这个构造函数吗?
13个解决方案
101 votes
来自Java文档
如果一个类没有修饰符(默认,也称为包私有),它只在自己的包中可见(包是相关类的命名组 - 您将在后面的课程中了解它们。)
在member level,您也可以使用public修饰符或no modifier(package-private),就像使用顶级类一样,具有相同的含义。
你可以在这里阅读全文(我最近写的):
[http://codeinventions.blogspot.com/2014/09/default-access-modifier-in-java-or-no.html]
Suresh Atta answered 2019-07-07T15:32:56Z
78 votes
来自文档:
Access Levels
Modifier Class Package Subclass World
-----------------------------------------------------
public Y Y Y Y
protected Y Y Y N
(Default) Y Y N N
private Y N N N
Pradeep answered 2019-07-07T15:33:20Z
30 votes
这取决于具体情况。
当它在一个班级中时:
class example1 {
int a = 10; // This is package-private (visible within package)
void method1() // This is package-private as well.
{
-----
}
}
当它在界面内时:
interface example2 {
int b = 10; // This is public and static.
void method2(); // This is public and abstract
}
SKG answered 2019-07-07T15:34:15Z
20 votes
默认访问修饰符是package-private - 仅在同一个包中可见
Evgeniy Dorofeev answered 2019-07-07T15:34:50Z
10 votes
下面是一个代码示例,它应该为您总结一下......除了以下内容,显示如何访问另一个包中的默认值还有一件事。
如果子类的子类在另一个包中,则子类中不能访问默认值,但如果子类位于同一个包中,则可以访问它。
package main;
public class ClassA {
private int privateVar;
public int publicVar;
int defaultVar;
}
package main;
public class ClassB {
public static void main(String[] args) {
ClassA a = new ClassA();
int v1 = a.publicVar; // Works
int v2 = a.defaultVar; // Works
int v3 = a.privateVar; // Doesn't work
}
}
package other;
public class ClassC {
public static void main(String[] args) {
ClassA a = new ClassA();
int v1 = a.publicVar; // Works
int v2 = a.defaultVar; // Doesn't work
int v3 = a.privateVar; // Doesn't work
}
}
JTHouseCat answered 2019-07-07T15:35:43Z
5 votes
默认修饰符为package.只有同一包中的代码才能调用此构造函数。
cahen answered 2019-07-07T15:36:29Z
5 votes
是的,它在同一个包装中可见。 该包之外的任何内容都不允许访问它。
Maninder Singh answered 2019-07-07T15:36:58Z
2 votes
您的构造函数的访问修饰符将是包私有(默认)。 正如您已将该类声明为public,它将随处可见,但构造函数不会。 您的构造函数仅在其包中可见。
package flight.booking;
public class FlightLog // Public access modifier
{
private SpecificFlight flight;
FlightLog(SpecificFlight flight) // Default access modifier
{
this.flight = flight;
}
}
如果不在类中编写任何构造函数,则编译器会生成一个默认构造函数,该构造函数具有该类的相同访问修饰符。 对于以下示例,编译器将生成具有公共访问修饰符的默认构造函数(与类相同)。
package flight.booking;
public class FlightLog // Public access modifier
{
private SpecificFlight flight;
}
Sachin Gorade answered 2019-07-07T15:37:56Z
1 votes
默认访问修饰符是包私有(即DEFAULT),它只能从同一个包中看到。
Piyush Bhardwaj answered 2019-07-07T15:38:28Z
1 votes
默认访问修饰符 - 如果类没有修饰符(默认值,也称为包私有),则只在其自己的包中可见(包是相关类的命名组)。
Atiq answered 2019-07-07T15:39:02Z
1 votes
不,您无法调用其他软件包的默认访问级别。 但是您可以在包中访问。 请点击此链接了解更多详情。
Hariprasath answered 2019-07-07T15:40:17Z
0 votes
此构造函数的访问修饰符是受保护的还是包的?
我认为你的构造函数访问修饰符隐含地是你的类的访问修饰符。 由于您的类具有公共访问权限,因此构造函数将隐式具有公共访问权限
PermGenError answered 2019-07-07T15:41:09Z
0 votes
从一本名为OCA Java SE 7 Programmer I的书中:
在不使用任何显式访问的情况下定义的类的成员 修饰符是使用包可访问性定义的(也称为默认值) 辅助功能)。 具有包访问权限的成员只能访问 在同一个包中定义的类和接口。
BERGUIGA Mohamed Amine answered 2019-07-07T15:42:03Z
-
java的四种访问修饰符 private default protected public 详解
2022-05-23 13:28:57访问修饰符 非访问修饰符 这篇文章着重讲解访问修饰符 修饰符用来定义类、方法或者变量,通常放在语句的最前端,如我们最常见的main方法就使用类public修饰符: public static void main(String[] arguments) { ...Java 修饰符
Java语言提供了很多修饰符,主要分为以下两类:
- 访问修饰符
- 非访问修饰符
这篇文章着重讲解访问修饰符
修饰符用来定义类、方法或者变量,通常放在语句的最前端,如我们最常见的main方法就使用类public修饰符:
public static void main(String[] arguments) { // 方法体 }
访问控制修饰符
Java中,可以使用访问控制符来保护对类、变量、方法和构造方法的访问。Java 支持 4 种不同的访问权限。
-
default (即默认,什么也不写): 在同一包内可见,不使用任何修饰符。使用对象:类、接口、变量、方法。
-
private : 在同一类内可见。使用对象:变量、方法。 注意:不能修饰类(外部类)
-
public : 对所有类可见。使用对象:类、接口、变量、方法
-
protected : 对同一包内的类和所有子类可见。使用对象:变量、方法。 注意:不能修饰类(外部类)。
默认访问修饰符-不使用任何关键字
使用默认访问修饰符声明的变量和方法,对同一个包内的类是可见的。接口里的变量都隐式声明为 public static final,而接口里的方法默认情况下访问权限为 public。
如下例所示,变量和方法的声明可以不使用任何修饰符。
String version = "1.5.1"; boolean processOrder() { return true; }
私有访问修饰符-private
私有访问修饰符是最严格的访问级别,所以被声明为 private 的方法、变量和构造方法只能被所属类访问,并且类和接口不能声明为 private。
声明为私有访问类型的变量只能通过类中公共的 get和set 方法被外部类访问和设置。
private 访问修饰符的使用主要用来隐藏类的实现细节和保护类的数据。
下面的类使用了私有访问修饰符:
public class Logger { private String format; public String getFormat() { return this.format; } public void setFormat(String format) { this.format = format; } }
实例中,Logger 类中的 format 变量为私有变量,所以其他类不能直接得到和设置该变量的值。为了使其他类能够操作该变量,定义了两个 public 方法:getFormat() (返回 format的值)和 setFormat(String)(设置 format 的值)
公有访问修饰符-public
被声明为 public 的类、方法、构造方法和接口能够被任何其他类访问。
如果几个相互访问的 public 类分布在不同的包中,则需要导入相应 public 类所在的包。由于类的继承性,类所有的公有方法和变量都能被其子类继承。
以下函数使用了公有访问控制:
public static void main(String[] arguments) { // ... }
Java 程序的 main() 方法必须设置成公有的,否则,Java 解释器将不能运行该类。
受保护的访问修饰符-protected
protected 需要从以下两个点来分析说明:
-
子类与基类在同一包中:被声明为 protected 的变量、方法和构造器能被同一个包中的任何其他类访问;
-
子类与基类不在同一包中:那么在子类中,子类实例可以访问其从基类继承而来的 protected 方法,而不能访问基类实例(new出来的)的protected方法。
protected 可以修饰数据成员,构造方法,方法成员,不能修饰类(内部类除外)。
下面的父类使用了 protected 访问修饰符,子类重写了父类的 openSpeaker() 方法。
class AudioPlayer { protected boolean openSpeaker(Speaker sp) { // 实现细节 } } class StreamingAudioPlayer extends AudioPlayer { protected boolean openSpeaker(Speaker sp) { // 实现细节 } }
如果把 openSpeaker() 方法声明为 private,那么除了 AudioPlayer 之外的类将不能访问该方法。
如果把 openSpeaker() 声明为 public,那么所有的类都能够访问该方法。
如果我们只想让该方法对其所在类的子类可见,则将该方法声明为 protected。
访问控制和方法继承重写请注意以下的规则:
-
父类中声明为 public 的方法在子类中该方法也必须为 public。
-
父类中声明为 protected 的方法在子类中该方法要么声明为 protected,要么声明为 public,不能声明为 private。
-
父类中声明为 private 的方法,不能够被子类继承。
总结:方法重写时子类方法访问权限不能比父类(public>默认>私有的)
我们还可以在方法上使用@Override来判断该方法是否被重写(关于@Override)
-
Java 默认修饰符 总结
2021-02-28 12:44:41Java 默认修饰符总结1.类(class)可见性修饰符:public—在所有类中可见,在其他包中可以用import导入。缺省—就是没有修饰符,在同一个包中的类中可见,在其他包中不能用import导入。修饰符:final—终态类,表示该... -
Java的访问修饰符与变量的作用域讲解
2020-09-03 07:41:51主要介绍了Java的访问修饰符与变量的作用域讲解,是Java入门学习中的基础知识,需要的朋友可以参考下 -
java之访问修饰符
2022-04-18 23:25:24访问修饰符 public(对外公开) protected(受保护的),对子类和同一个包公开 默认级别,没有修饰符,向同一个包的类公开 private(私有级别),只有类本身可以访问,不对外公开 注意 修饰符作用于 类中的属性,成员方法,类 ... -
Java访问修饰符
2021-11-23 18:14:581、Java的四种访问修饰符 private(私有的)无法访问:使用private关键字,就意味着被声明的成员或方法,除了本类,其他任何类都无法访问。 public(公共的)接口访问权限:使用public关键字,就意味着被声明的... -
java默认方法的修饰符是什么
2021-02-12 09:52:01'Java访问修饰符包括private,default,protected和public。含义分别表示私有的,默认的,受保护的和公有的访问修饰符。这些访问修饰符既可以修饰类中的属性,又可以修饰类中的方法,而public和defau... -
java默认修饰符
2021-04-12 19:47:18访问修饰符符与修饰符的位置可以互换)访问修饰符名称说明备注pubic可以被所有类访问(使用)public类必须定义在和类名相同的同名文件中package可以被同一个包中的类访问(使用)默认的访问权限,可以省略此关键字,可以... -
Java中的四种权限修饰符及六种非访问修饰符(简识)
2021-03-15 03:09:29private(公共的 ) (受保护的) (默认的) (私有的) ||:----|二、简单认识四种访问修饰符1、public权限修饰符public——可以修饰类,方法,构造方法,接口,方法成员。被public修饰的成员,可以在任何一个类中被调用,... -
Java的类,方法,变量等等的默认修饰符是什么
2021-02-12 18:35:55MMTTMM访问控制修饰符Java中,可以使用访问控制符来保护对类、变量、方法和构造方法的访问。Java支持4种不同的访问权限。默认的,也称为default,在同一包内可见,不使用任何...默认访问修饰符-不使用任何关键字使用... -
浅谈Java中各种修饰符与访问修饰符的说明
2020-08-31 15:41:48下面小编就为大家带来一篇浅谈Java中各种修饰符与访问修饰符的说明。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧 -
Java访问修饰符全面详细介绍
2022-06-04 20:23:54Java中访问修饰符详细介绍(史上最全,不看后悔!) -
Java中四种访问权限资料整理
2021-04-17 08:31:33一、Java中有四种访问权限, 其中三种有访问权限修饰符,分别为private、public、protected,还有一种不带任何修饰符(default)。...2. default:即不加任何访问修饰符,通常称为“默认访问权限“或者... -
java四种访问修饰符
2022-02-15 17:43:20访问修饰符 public,private,protected,以及不写(默认)时的区别 定义:Java中,可以使用访问修饰符来保护对类、变量、方法和构造方法的访问。Java 支持 4 种不同的访问权限。 分类 private : 在同一类内可见。使用... -
Java 访问修饰符与非访问修饰符 | Java核心知识点整理
2021-07-22 09:33:14本小节详细介绍了 Java 访问修饰符。它们控制 Java 类及其成员(函数和数据)的可见性。它们是公共的、私有的和受保护的。 但是,当没有修饰符存在时,Java 也实现了默认情况。这意味着一个类、它的函数、字段只能... -
详解Java修饰符
2020-08-31 21:14:34Java语言提供了很多修饰符,主要分为以下两类:访问修饰符;非访问修饰符。修饰符用来定义类、方法或者变量,通常放在语句的最前端。我们通过下面的例子来说明,下面就跟小编一起来看下吧 -
java访问权限修饰符详解
2021-11-10 20:31:35Default: 即不加任何访问修饰符,通常称为”默认访问模式”,该模式下,只允许在同一个包中进行访问. Protected: 介于public和private之间的一种访修饰符,一般称之为”保护型”,被其修饰的类,属... -
浅析java修饰符访问权限(动力节点Java学院整理)
2020-08-30 20:09:39Java有四种访问权限,其中三种有访问权限修饰符,分别为private,public和protected,还有一种不带任何修饰符,下面通过本文给大家简单介绍下java修饰符访问权限相关知识,感兴趣的朋友一起学习吧 -
Java基础:Java中四种访问修饰符
2022-05-01 16:19:29这篇文章主要介绍了Java中四种访问修饰符详细教程,本文通过图文并茂的形式给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下。放假在家里休息,闲来无事,想巩固巩固自己的... -
java中四种访问修饰符
2021-02-26 16:13:20Java中的四种访问修饰符:public、protected、default(无修饰符,默认)、private。四种修饰符可修饰的成分(类、方法、成员变量)publicprotecteddefaultprivate类√×√×(内部类可以用private修饰)方法√√√√成员... -
java中有那几种访问修饰符?默认的访问权限是什么?作用范围是什么?
2019-05-29 20:29:27java中的访问修饰符 访问修饰符作用于类、方法和变量上,控制其访问权限,进行细节隐藏 java中的访问修饰符有public、protected、default、private四种 **public:**修饰类方法变量,对应的访问权限是:全部包的... -
Java访问控制修饰符的权限范围(清晰总结版)
2021-10-29 17:06:37Java类前修饰符有 public 和 默认(缺省) Java属性和方法前的修饰符有 public, protected, 默认(缺省),private 权限关系简图 注释:左图为各种权限范围(范围由大到小),右图标明两种修饰符的组合对应的访问... -
java中默认构造函数的访问修饰符是什么?
2021-02-27 14:45:31我认为它的访问修饰符是公开的,但是在处理内部类问题时,我发现也许我错了。这里是我的代码:public class Outer {protected class ProtectedInner {// adding a public constructor will solve the error in ... -
Java中的四种访问修饰符
2021-03-09 02:38:56Java中修饰符分为两种:访问修饰符和非访问修饰符。修饰符中,有一些修饰符可以既可以修饰类,也可以修饰方法,但是有一些修饰符只能修饰符方法。今天这篇文章先介绍一下四种访问修饰符。1、private修饰符private... -
Java访问修饰符有哪些?权限的区别?
2021-03-22 18:29:12Java 语言中有四种权限访问控制符,能够控制类中成员变量和方法的可见性。public被 public 修饰的成员变量和方法可以在任何类中都能被访问到。被 public 修饰的类,在一个 java 源文件中只能有一个类被声明为 public... -
java中的访问修饰符
2022-04-07 16:31:05Java中的访问修饰符有四种: public 缺省/默认 protected private