标签:包中 no 方法 yes main 20210922 public
main方法为什么必须为public,static
public: 保证这个类被访问到,由虚拟机JVM使用,直接创建方法,没有实例对象
由于JVM需要在类外调用main方法,而且JVM运行main方法时,并没有创建main方法所在的类的一个实例对象,所以它只能通过类名来调用main方法作为程序的入口,因而该方法必须是static。
方法重载
一个类中名字相同的多种方法。
通过参数不同(个数/数量)不同来辨别重载方法。
注意返回值可以相同或者不同。例:
float add(intx, inty) int add(int x int y) 不允许
包
概念
多个类可能出现类名冲突,使用包来管理类。
可以实现类的共享与复用
同一个包的类在默认情况下可以互相访问
同一包中类名不可以重复
包的声明
package pkg1[.pkg2[.pkg3]...];
1.Java源文件 只能在第一条语句,前只可由注释/空行
2.一个文件只可有一个包
3.包名与对应文件夹名大写一样
4.包层次的根文件夹由ClassPath来确定 (已不需要配置)
包的 命名
1.小写字母,不重复
2.建议
-
Internet 反序
-
_代替
包与目录
包名即文件夹名,即目录名。
目录名不一定是报名
若当前包中有 没有声明的类: classpath `;(当前) 地址
引入包
import[pkg1[.pkg2]].(classname|*);
可以用 * 代替所有类
java 编译器为所有程序自动引入包java.lang.
若路径相同,也可能引入不同的包
例: cn.edu.hitwh*
cn.edu.hitwh.pub*
编译单元/编译/运行
-
编译单元=java源代码文件
包的声明+import+类和接口的声明
-
只有一个public,类名与文件名相同
其他类是辅助类,编译后产生一个class文件。
-
编译:
通过javac.exe 引导类/扩展类/用户类
-
运行
-
未声明包 classpath配置
-
有包名 使用定位到该文件夹: cd +文件名(即包名)
-
类与成员的访问
1.类
public 与缺省
同一包中 √ √
不同包中 √ ×
2.类成员
-
共有 public 被任何
-
保护
-
私有
-
默认
类型 | private | 无修饰 | protected | public |
---|---|---|---|---|
同一类 | yes | yes | yes | yes |
同一包中的子类 | no | yes | yes | yes |
同一包中的非子类 | no | yes | yes | yes |
不同包中的子类 | no | no | yes | yes |
不同包中的非子类 | no | no | no | yes |
-
get/set 方法
-
get : 读取
public<fieldType>get<FieldName>(){
return<fieldName>
} -
set: 修改属性
public void set<FieldName>(<fieldType>
<paramName>) {
<fieldName> = <paramName>;
}
关键词
this
super
null
SomeClass aSomeClass=null
final
-
修饰变量
实例变量与类变量
使用之前初始化
-
修饰方法
不能被子类覆盖
final returnType methodName(paramalist)
-
修饰类
不可被继承,安全,类比较完善
保证String类型的唯一性
\
标签:包中,no,方法,yes,main,20210922,public 来源: https://www.cnblogs.com/leilei2021/p/15319413.html
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。