Day010 开始看源码了
周三一堆的课,也下来学了一会儿
为什么使用package
package 是java中包机制,包机制的作用是为了方便程序的管理,不同功能的类分别存放在不同的包下。(按照功能划分,不同的软件包具有不同的功能)
怎么用
package是一个关键字 后面加包名
package com. bjpowernode.javase.chapter17;
注意 :package语句只能允许出现在java源代码的第一行
命名规范
一般采用公司域名倒叙的方式(公司域名的唯一性)
包名命名规范:
公司域名倒叙+项目名+模块名+功能名
package com.long.jun.long
public class HelloWorld{
public static void main(String [] args){
System.out.println("hello world ");
}
}
采用以前的编译和运行不行了
类名不再是HelloWorld
是 com.long.jiun.long.HelloWorld

关于import的使用
在同一个package下,包名可以省略
不再同一个包下,不能省略
将需要的类导入
import com.long.jun.zhang,HelloWorld
A类中使用B类
A和B类在同一个包下,不需要

import java.util.Scanner;
//或者 import java.util.*;
public class Test{
public static void main(String []args){
Scanner s = new Scanner (System.in);
String str = s.next();
System.out.println(“您输入的字符创是: + str”);
}
}
lang 包下的不需要手动导入
-
java.lang.*这个包下不需要导入
开发工具中会自动帮生成
总结
-
package
package出现在java源文件的第一行
-
import

完整类名 简类名
import java。* 这样是不允许的,因为java语言中规定,这里的*只代表某些类的名字。
访问控制权限
private 私有
protected 受保护的
public 公开的
(不写)默认的
private 表示私有的,只能在本类中访问
public 表示公开的,在任何位置都可以访问;。
“”默认“表示只能在本类、同包下访问
protect只能在本类同类子类中访问
| 访问控制修饰符 | 本类 | 同包 | 子类 | 任意位置 |
|---|---|---|---|---|
| public | 可以 | 可以 | 可以 | 可以 |
| protected | 可以 | 可以 | 可以 | 不行 |
| 默认 | 可以 | 可以 | 不行 | 不行 |
| private | 可以 | 不行 | 不行 | 不行 |
访问控制修饰符可以修饰什么
属性 四个都可以
方法 四个都可以’

Object类
jdk类库的根类
任何一个类默认继承object,直接间接继承

帮助文档

ToString
源代码、
public String toString(){
return this.getClass().getName()+ "@"+Integer.toHexString(hashCode());
}
源代码的默认实现是
类名@对象的内存地址转换成十六进制的形式
其实sun公司开发java语言的时候,建议所有子类都去重写toString()方法
toString()方法应该是一个简洁、详实、易阅读的
输出引用的时候,默认输出调用toString方法
equals
public boolean equals(Object obj){
return (this == obj);
}
通过equals方法来判断两个对象是否相等
https://i.loli.net/2021/04/21/vG9yRfUWVm3pacr.png
https://sm.ms/image/vG9yRfUWVm3pacr
判断两个java对象相等 不能使用“==”;
在Object类中equals默认用==判断
判断两个java对象是否相等,不能使用“==”,因为==比较的是两个对象的内存地址
所以需要重写equals
浙公网安备 33010602011771号