首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
您找到你想要的搜索结果了吗?
是的
没有找到

java文件中public 类名要和文件名保持一致

一个Java文件可以有多个类作为内部类/Adapter类/其它类,但是只能有一个public类,且类名必须和文件名一致。这是这类语言的一个不好的地方。 在现实情况中,经常有一些很小的类由几个类共同需要,因此无法作为内部类,而且接口关系必须设置为public,这样就导致了大量很小的.Java程序,每个都只有几百字节。 这类语言的另一个问题是一个类的所有实现的方法都必须包含在同一个文件中。在swing应用程序中,经常导致长达一两百K字节的源程序,行数达到三四千行,搞得JBuilder奇慢无比。 一个 .java 文件,可以有多个类,但是文件名只能有一个,用哪一个类名来充当文件名呢?其实文件名是无所谓的,因为将来用 javac 进行编译的时候,最终会生成多个 .class 文件,每一个类对应个 .class 文件。运行时只要运行对应的 .class 文件就可以了,这时 .java 文件就显得没什么用了( 运行时不需要 ),那还管它叫什么名字。 但是当你的类被 public 修饰时,此时文件名必须和该类保持一致(例如 public class A{} 只能放在 A.java 文件中,不然在用 javac 编译时会提示错误:类 A 是公共的,应在名为 A.java 的文件中声明)。也就是说在同一个 .java 文件中,不应该出现2个或2个以上的 public class 。 如果有一个public class类,就应该让文件名和此类名相同;那如果没有呢,即所有的 class 都没有修饰符,那么可以给该文件随便起名字,甚至可以不和任意一个类同名,哪怕是汉字名称都可以,但是后缀还是要有.java 的 。 注:有很多初学者 ( 我也是 ) 可能会认为文件名应该也和 main 方法所在类有关系,其实不然。main 方法只是程序的一个入口,老师讲“一个程序只能有一个入口”,好象是在说只能有一个 main 方法,其实,只要你高兴,就可以在所有类里都写上 main 方法,给程序提供N多个入口,但是最后你运行程序的时候也只能从其中的一个入口进去,这就是 main 的作用( 程序入口 )。(这也就是为什么你会发现,程序员在做单元测试时,会往自己做的很多类里面添加 main 方法,因为他要为自己做的东西添加运行入口,从而能方便测试。)

02

null或空值的判断处理

1,错误用法一: if (name == "") {      //do something } 2,错误用法二: if (name.equals("")) {      //do something } 3,错误用法三: if (!name.equals("")) {      //do something } 我们来解说一下: 上述错误用法1是初学者最容易犯,也最不容易被发现的错误,因为它们的语法本身没问题,Java编译器编译时不报错。但这种条件可能在运行时导致程序出现bug,永远也不会为true,也就是时说,if块里的语句永远也不会被执行。 上述用法二,用法三 的写法,是包括很多Java熟手也很容易犯的错误,为什么是错误的呢?也许你会感到纳闷。 对,它们的写法本身没错,但是,少了一个null判断的条件,试想,如果name=null的情况下,会发生什么后果呢?后果是,你的程序将抛出NullPointerException异常,系统将被挂起,不再提供正常服务。 当然,如果之前已经对name作了null判断的情况例外。 正确的写法应该先加上name != null的条件,如例: if (name != null && !name.equals("")) {      //do something } 或者 if (!"".equals(name)) {//将""写在前头,这样,不管name是否为null,都不会出错。      //do something } 下面,我们举一个简单的例子: TestNullOrEmpty.java

010

null或空值的判断处理

1,错误用法一: if (name == "") {      //do something } 2,错误用法二: if (name.equals("")) {      //do something } 3,错误用法三: if (!name.equals("")) {      //do something } 我们来解说一下: 上述错误用法1是初学者最容易犯,也最不容易被发现的错误,因为它们的语法本身没问题,Java编译器编译时不报错。但这种条件可能在运行时导致程序出现bug,永远也不会为true,也就是时说,if块里的语句永远也不会被执行。 上述用法二,用法三 的写法,是包括很多Java熟手也很容易犯的错误,为什么是错误的呢?也许你会感到纳闷。 对,它们的写法本身没错,但是,少了一个null判断的条件,试想,如果name=null的情况下,会发生什么后果呢?后果是,你的程序将抛出NullPointerException异常,系统将被挂起,不再提供正常服务。 当然,如果之前已经对name作了null判断的情况例外。 正确的写法应该先加上name != null的条件,如例: if (name != null && !name.equals("")) {      //do something } 或者 if (!"".equals(name)) {//将""写在前头,这样,不管name是否为null,都不会出错。      //do something } 下面,我们举一个简单的例子: TestNullOrEmpty.java

03

java从入门到精通一(java开发入门)

java的相关环境的配置 开篇语:大一下学期学习了java的基础案例教程,当然疫情期间是在家里上的学校网课,带我java课程的老师讲的特别好,虽然是以视频的形式来讲课,但老师讲的同样很精彩,很详细,因此啊,很感谢老师给我带来如此优质的课程。 学过的东西要总结是很好的习惯,总结,帮助我们更好的梳理知识,将我们的基础打扎实。从本篇开始,我会将我学过的java相关的知识做一个汇总。以便知识的分享,也方便以后自己的查阅。 java开发入门: 1.1:java来源: java是一门高级计算机语言,他是在1995年由SUN公司推出来的,不过后来由Orzcle公司巨资收购。 我们知道java是很受市场欢迎的,当时SUN公司将java划分为3个技术平台:javaSE,javaEE,javaME。javaSE是一个标准版,是为开发桌面应用和商务应用提供的解决方案;javaEE是为企业开发的;javaME呢,他是为开发电子产品和嵌入式设备提供的解决方案。 1.2 :java语言的特点 1:简单性,是的,相比c语言和c++,java还是比较简单的,但是相比python强大的库操作,其实java也并不简单。 2:面向对象性,java是一门面向对象性的编程性语言,当然这里讲可能比较抽象,但是当我们学到面向对象那里,就会很好理解了,因为我们时常new 一个对象,所以学java的单身狗们时常new个对象来安慰单身的自己,这也许就是程序猿的快乐吧,哈哈。 3:安全性,java语言它不支持指针,对内存的访问都是要用过对对象的实例变量来实现,所以它会更安全。我们学过c语言的数据结构就知道,指针可以很方便的操纵内存,而且,指针操纵内存的溢出攻击也是非常有名的。 4:跨平台性,这与java的虚拟机有关,java的程序是由虚拟机来执行的,并不是我们的操作系统,不同的操作系统中只需安装不同版本的虚拟机即可,可以通过这样来实现跨平台。奥利给。 我们来看图:

04
领券