Day010 开始看源码了

周三一堆的课,也下来学了一会儿

package 和import

为什么使用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

image-20210421163345733

关于import的使用

在同一个package下,包名可以省略

不再同一个包下,不能省略

将需要的类导入

import com.long.jun.zhang,HelloWorld

A类中使用B类

A和B类在同一个包下,不需要

image-20210421164229900

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

image-20210421165141930

完整类名 简类名

import java。* 这样是不允许的,因为java语言中规定,这里的*只代表某些类的名字。

访问控制权限

private 私有

protected 受保护的

public 公开的

(不写)默认的

private 表示私有的,只能在本类中访问

public 表示公开的,在任何位置都可以访问;。

“”默认“表示只能在本类、同包下访问

protect只能在本类同类子类中访问

访问控制修饰符本类同包子类任意位置
public 可以 可以 可以 可以
protected 可以 可以 可以 不行
默认 可以 可以 不行 不行
private 可以 不行 不行 不行

访问控制修饰符可以修饰什么

属性 四个都可以

方法 四个都可以’

image-20210421171424148

Object类

jdk类库的根类

任何一个类默认继承object,直接间接继承

image-20210421171933110

帮助文档

image-20210421172501508

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方法来判断两个对象是否相等

 

URL=https://i.loli.net/2021/04/21/vG9yRfUWVm3pacr.pnghttps://i.loli.net/2021/04/21/vG9yRfUWVm3pacr.png/IMG

https://i.loli.net/2021/04/21/vG9yRfUWVm3pacr.png

https://sm.ms/image/vG9yRfUWVm3pacr

判断两个java对象相等 不能使用“==”;

在Object类中equals默认用==判断

判断两个java对象是否相等,不能使用“==”,因为==比较的是两个对象的内存地址

所以需要重写equals

 

posted @ 2021-04-21 18:02  各人blanknote  阅读(59)  评论(0)    收藏  举报