.java文件中public class
来源:互联网 发布:openwrt 定时mac 编辑:程序博客网 时间:2024/05/17 20:26
今天在敲代码,有个C++的过来了,看到类名前面有个public,问我这是什么意思,我竟然一时疑惑了,因此在这里总结下:
public声明的类才可以被外部访问,也就是可以被任何类访问。
如果定义成private的话,只能被同一目标的类访问。
private class ClassA { public static void main(String[] args) { }}
这样定义,在eclipse里面是会报错的,只能定义成public或者把private去掉不写(不写默认是protected的,也就是同包名下面的可以访问,其他包下面的不能访问)。下面把这个类定义成public
public class ClassA { public static void main(String[] args) { } private class ClassA_Inner{ }}
这样B类就可以访问A类,但是不能访问A类的私有类:
public class ClassB { public static void main(String[] args) { ClassA classA=new ClassA();
// 下面的定义是错误的:
//no enclosing instance of type is accessible
ClassA_Inner inner=new ClassA_Inner();
}}
内部类报错的原因是写的内部类是动态的,也就是开头以public class开头。而主程序是public static class main。在Java中,类中的静态方法不能直接调用动态方法。只有将某个内部类修饰为静态类,然后才能够在静态类中调用该类的成员变量与成员方法。所以在不做其他变动的情况下,最简单的解决办法是将public class改为public static class.
最后补充一下,如果定义的这个类不写public,则.java文件的名称为任意,但是只有同一个package下面的类才能访问。
比如:我创建一个ClassC.java文件,里面的内容为:
class ClassCTest {}
0 0
- .java文件中public class
- java中关于public class
- java中public class与class区别
- java中public class与class区别
- java文件中不一定要有public的class,除非文件名要是这个public类的名字
- Java中public class与class的区别
- 一个java文件如何放两个public class 类
- Java class 中public、protected 、friendly、private的区别
- Java class 中public、protected 、friendly、private的区别
- Java class 中public、protected 、friendly、private的区别
- .java文件只能有一个public class,并且与文件名一致。其余class不能写public,否则新建一个.java
- java.util.*; public class ScannerExample
- JAVA——java中类的public class与class的区别详解
- 黑马程序员之java中public class和class的区别
- Java中,public class与class,以及main函数的一些说明
- Java 中Class文件详解
- cmd命令行中javac报错:类HelloWorld是公有的,应在名为HelloWorld.java的文件中声明,public class HelloWorld
- helloworld.java:1: 错误: 类HelloWorld是公共的, 应在名为 HelloWorld.java 的文件中声明 public class HelloWorld
- 解决a different object with the same identifier value was already associated with the session错误
- 数据挖掘算法学习(八)Adaboost算法
- Android系统Recovery工作原理之使用update.zip升级过程分析(五)---update.zip包从上层进入Recovery服务
- Sqlserver常用SQL 1
- adb server is out of date. killing...
- .java文件中public class
- ExpandableListView的简单代码示例
- magento速度优化,magento数据库优化瘦身
- 桶式排序
- 开源项目之------ImageLoader的使用
- eclipse 使用技巧
- Package javax.servlet 包介绍
- datagrid没有数据显示无数据提示信息
- 为啥是我得癌症?(不管什么行业,请耐心读完)