java 修饰符默认_Java中的默认访问修饰符是什么?
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 修饰符默认_Java中的默认访问修饰符是什么?相关推荐
- java中访问修饰符_Java中的非访问修饰符是什么?
java中访问修饰符 Java非访问修饰符 (Java non access modifiers) We have 7 non-access modifiers in Java. The name o ...
- java中有哪些访问修饰符_java中四种访问修饰符
Java中的四种访问修饰符:public.protected.default(无修饰符,默认).private. 四种修饰符可修饰的成分(类.方法.成员变量) public protected def ...
- java socket超时时间_java中socket 默认超时时间 | 学步园
MS:永远吧 Java代码 connect publicvoidconnect(SocketAddress endpoint, inttimeout) throwsIOException Connec ...
- Java基础:Java中四种访问修饰符
一.背景. 这篇文章主要介绍了Java中四种访问修饰符详细教程,本文通过图文并茂的形式给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下.放假在家里休息,闲来无事,想 ...
- java 权限修饰符大小_Java中访问权限修饰符public protected private, 缺省默认权限的用法总结...
1.访问权限符: (1)public: 对于成员来说:任何其他类都可以访问它们,不管在同一个包中还是在另外的包中. 对于类来说: 也是一样. (2)friendly: 对于成员老说:如果一个类的成员没 ...
- Java中四个访问修饰符public private protected 和默认(package-private)的用法详解
访问级别 访问级别修饰符确定其他类是否可以使用特定字段或调用特定方法.有两个级别的访问控制: 1.在顶级 public或package-private(没有显式修饰符即默认权限). 类可以用修饰符pu ...
- java数组最大值索引_java中的权限修饰符有哪些?怎么获取数组最大值?
java作为一门编程语言,由于它的优秀,现在已经成为很多人的首选编程语言.java中关于修饰符和数组的知识点也是十分多的,今天就来为大家介绍一下,java中的权限修饰符有哪些?怎么获取数组最大值?一起 ...
- java 权限修饰符_java中4种访问权限修饰符
在Java编程语言中有四种权限访问控制符,这四种访问权限的控制符能够控制类中成员的可见性. 一.public (1) 定义:public是公共的,被public所修饰的成员可以在任何类中都能被访问到. ...
- java中缺省包_Java 中的默认包问题
起因 今天看< Java 编程思想>第六章的时候看到这样一句话: 一定要记住,相同目录下的所有不具有明确 package 声明的文件,都被视作是该目录下默认包的一部分. 以前没有深入了解过 ...
最新文章
- hp-ux 单用户 启动_UX备忘单:搜索与浏览
- spring使用注解@Scheduled执行定时任务
- VS Studio报错无法解析的外部符号 _imp_XXXXXXXXX
- python线程安全的计数器_Python多线程同步Lock、RLock、Semaphore、Event实例
- 网线重新插拔后恢复正常_生活小窍门之网线不够长怎么办,毕亚兹网线连接器轻松搞定...
- SpringBoot-Mail 发邮件(单发、群发、加附件、HTML格式)
- Win11高效日历推荐
- 搭建一个简单Git服务器
- 系统发育树的美化~Figtree(图文教程)
- android开启wifi热点命令,Win7共享WIFI热点让Android手机上网
- 自增 ID 用完了怎么办 ?
- 服务器配置443端口报错
- 计算机思维培训心得,计算机教师培训心得体会
- revit 对计算机最低配置,Revit2016官方推荐电脑配置要求
- java模拟器环境_Win10 + Appium+夜神/MuMu模拟器环境搭建
- 基于猫眼票房数据的可视化分析
- 这么简单,抄抄,改改就行啦
- 与心血管疾病相关的肠道菌群代谢产物或毒素
- 【Android】 android | as | android studio 安装与使用
- as死机了怎么办_电脑老是莫名其妙地死机,怎么办?