来写一段测试代码 。
public class OverloadingTest {
public static void main(String[] args) {
LaoWang wang = new LaoWang;
wang.read;
wang.read("金瓶梅");
}
}
这结果就不用猜了 。变量 wang 的类型为 LaoWang , wang.read 调用的是无参的read 方法 , 因此先输出“老王读了一本《Web全栈开发进阶之路》”;wang.read("金瓶") 调用的是有参的 read(bookname) 方法 , 因此后输出“老王读了一本《金瓶》” 。在编译期间 , 编译器就知道这两个 read 方法时不同的 , 因为它们的方法签名(=方法名称+方法参数)不同 。
简单的来总结一下:
1)编译器无法决定调用哪个重写的方法 , 因为只从变量的类型上是无法做出判断的 , 要在运行时才能决定;但编译器可以明确地知道该调用哪个重载的方法 , 因为引用类型是确定的 , 参数个数决定了该调用哪个方法 。
2)多态针对的是重写 , 而不是重载 。

文章插图
- 如果在一个类中有多个相同名字的方法 , 但参数不同 , 则称为方法重载 。
- 父类中有一个方法 , 子类中有另外一个和它有相同签名(方法名相同 , 参数相同、修饰符相同)的方法时 , 则称为方法重写 。子类在重写父类方法的时候可以加一个@Override 注解 。
可以 , 一个类中可以有多个名称为“main”的方法:
public class MainTest {
public static void main(String[] args) {
System.out.println("main(String[] args)");
}
public static void main(String[] args,String arg) {
System.out.println("(String[] args,String arg");
}
}
但该类在运行的时候 , 只会找到一个入口 , 即 public static void main(String[] args) 。
20、一个 Java 源文件中有多个 public 类吗?
一个 Java 源文件中不能有多个 public 类 。

文章插图
21、什么是 Java 的 package(包)?
在 Java 中 , 我们使用 package(包)对相关的类、接口和子包进行分组 。这样做的好处有:
- 使相关类型更容易查找;
- 避免命名冲突 , 比如说 com.itwanger.Hello 和 com.itwangsan.Hello 不同;
- 通过包和访问权限控制符来限定类的可见性 。
包的命名应该遵守以下规则:
- 应该全部是小写字母;
- 可以包含多个单词 , 单词之间使用“.”连接 , 比如说 java.lang;
- 名称由公司名或者组织名确定 , 采用倒序的方式 , 比如说 , 我个人博客的域名是 www.itwanger.com , 所以我创建的包名是就是 com.itwanger.xxxx 。
默认情况下 , java.lang 包是默认导入的 , 我们不需要显式地导入该包下的任何类 。
package com.cmower.bb;
public class PackageTest {
public static void main(String[] args) {
Boolean.toString(true);
}
}
Boolean类属于 java.lang 包 , 当使用它的时候并不需要显式导入 。
22、什么是访问权限修饰符?
访问权限修饰符对于 Java 来说 , 非常重要 , 目前共有四种:public、private、protected和 default(缺省) 。
一个类只能使用 public 或者 default 修饰 , public 修饰的类你之前已经见到过了 , 现在我来定义一个缺省权限修饰符的类给你欣赏一下 。
class Dog {
}
哈哈 , 其实也没啥可以欣赏的 。缺省意味着这个类可以被同一个包下的其他类进行访问;而 public 意味着这个类可以被所有包下的类进行访问 。
假如硬要通过 private 和 protected 来修饰类的话 , 编译器会生气的 , 它不同意 。
推荐阅读
- 如何挑选神奇的魔芋粉?
- 甘道芯茶的功效,简单介绍眉茶的品种分类
- 食道癌患者9成是男性 勿抽烟喝酒少喝滚烫汤茶
- 游戏|致敬《辐射:全集》 硬核玩家将迷你核弹游戏包装改造成电脑
- 古劳茶是什么茶,古劳茶制作五道工序
- 古代饮茶文化,茶道生活国人饮茶
- 关于生肖茶你知道多少,黄山毛峰冲泡水温温度多少合适
- 古茶山的小康路之易武,易武茶古树茶的品质核心
- 公道杯的作用是什么,公道杯是做什么用的
- Intel|Intel 56核心至强样品首曝:频率仅3.3GHz、功耗达420W