和 args[1
获取传递的参数值了 。
main() 方法的写法并不是唯一的 , 还有其他几种变体 , 尽管它们可能并不常见 , 可以简单来了解一下 。
第二种 , 把方括号 [
往 args 靠近而不是String 靠近:
第三种 , 把方括号 [
放在 args 的右侧:
第四种 , 还可以把数组形式换成可变参数的形式:
第五种 , 在 main() 方法上添加另外一个修饰符 strictfp , 用于强调在处理浮点数时的兼容性:
也可以在 main() 方法上添加 final 关键字或者 synchronized 关键字 。
第六种 , 还可以为 args 参数添加 final 关键字:
第七种 , 最复杂的一种 , 所有可以添加的关键字统统添加上:
当然了 , 并不需要为了装逼特意把 main() 方法写成上面提到的这些形式 , 使用 IDE 提供的默认形式就可以了 。
18、Java 的重写(Override)和重载(Overload)有什么区别?
先来看一段重写的代码吧 。
重写的两个方法名相同 , 方法参数的个数也相同;不过一个方法在父类中 , 另外一个在子类中 。 就好像父类 LaoWang 有一个 write() 方法(无参) , 方法体是写一本《基督山伯爵》;子类 XiaoWang 重写了父类的 write() 方法(无参) , 但方法体是写一本《茶花女》 。
来写一段测试代码 。
大家猜结果是什么?
在上面的代码中 , 们声明了一个类型为 LaoWang 的变量 wang 。 在编译期间 , 编译器会检查 LaoWang 类是否包含了 write() 方法 , 发现 LaoWang 类有 , 于是编译通过 。 在运行期间 , new 了一个 XiaoWang 对象 , 并将其赋值给 wang , 此时 Java 虚拟机知道 wang 引用的是 XiaoWang 对象 , 所以调用的是子类 XiaoWang 中的 write() 方法而不是父类 LaoWang 中的 write() 方法 , 因此输出结果为“小王写了一本《茶花女》” 。
再来看一段重载的代码吧 。
重载的两个方法名相同 , 但方法参数的个数不同 , 另外也不涉及到继承 , 两个方法在同一个类中 。 就好像类 LaoWang 有两个方法 , 名字都是 read() , 但一个有参数(书名) , 另外一个没有(只能读写死的一本书) 。
来写一段测试代码 。
这结果就不用猜了 。 变量 wang 的类型为 LaoWang , wang.read() 调用的是无参的read() 方法 , 因此先输出“老王读了一本《Web全栈开发进阶之路》”;wang.read(\"金瓶\") 调用的是有参的 read(bookname) 方法 , 因此后输出“老王读了一本《金瓶》” 。 在编译期间 , 编译器就知道这两个 read() 方法时不同的 , 因为它们的方法签名(=方法名称+方法参数)不同 。
简单的来总结一下:
1)编译器无法决定调用哪个重写的方法 , 因为只从变量的类型上是无法做出判断的 , 要在运行时才能决定;但编译器可以明确地知道该调用哪个重载的方法 , 因为引用类型是确定的 , 参数个数决定了该调用哪个方法 。
2)多态针对的是重写 , 而不是重载 。
- 如果在一个类中有多个相同名字的方法 , 但参数不同 , 则称为方法重载 。
- 父类中有一个方法 , 子类中有另外一个和它有相同签名(方法名相同 , 参数相同、修饰符相同)的方法时 , 则称为方法重写 。 子类在重写父类方法的时候可以加一个@Override 注解 。
可以 , 一个类中可以有多个名称为“main”的方法:
但该类在运行的时候 , 只会找到一个入口 , 即 public static void main(String[
args) 。
20、一个 Java 源文件中有多个 public 类吗?
一个 Java 源文件中不能有多个 public 类 。
21、什么是 Java 的 package(包)?
在 Java 中 , 我们使用 package(包)对相关的类、接口和子包进行分组 。 这样做的好处有:
- 使相关类型更容易查找;
- 避免命名冲突 , 比如说 com.itwanger.Hello 和 com.itwangsan.Hello 不同;
- 通过包和访问权限控制符来限定类的可见性 。
包的命名应该遵守以下规则:
- 应该全部是小写字母;
- 小米科技|三星,照相技术无人超越,而价格毫无诚意
- 河北网络广播电视台 |全方位响应客户应用需求,戈埃尔科技塑造防水透气行业核心竞争力
- 魅族|魅族19亮利剑:四曲面全视一体屏加持,科技与美的碰撞
- 小米科技|天玑8100处理器和骁龙870哪个强?
- 小米科技|荣耀Magic4和小米12对比:哪一款更值得入手?
- 一加科技|带手柄的游戏电视!TCL电光蓝游戏电视V8E Max图赏
- 小米科技|每人超40万!小米史上最高股份激励出炉:近5000员工受益
- 小米科技|2022年5K价位热门机型对比:华硕、联想,谁家的新品更值得考虑?
- 小米科技|小米电脑助手沉浸体验:简约的让人爱!
- 小米科技|网友6000买iPhone13Pro监管机,商家:配置锁已移除,插卡即用!