“携手创作,共同成长!开启掘金成长之旅!这是我参与「掘金日新计划 · 12 月更文挑战」的第4天,点击查看活动详情”
一、访问修饰符
1.1、作用及种类
UML类图 建模语言或标准建模语言 类的属性、操作中的可见性使用+、#、-分别表示public、protected、private
- 作用:信息隐藏 防止用户意外修改数据,使模块易于维护和使用
- 有哪些修饰符呢?
private:只有该类可以访问
protected:该类及其子类的成员可以访问,同一个包中的类也可以访问
public:该类或非该类可以访问
默认:同一个包中的类可以访问
- 可以作用于类,成员,方法
1.2、深度理解
- 同一个类 就是同一个类里面的,类相当于结构体
- 同一个包
圈中的就是包
二、this关键字作用
第3和最后一个用的最多
- 在类的方法中,使用this代表的是调用此方法的对象的引用
- this可以看做是一个变量,它的值是当前对象的引用
- 使用this可以处理方法中的成员变量和形参同名问题
Student(int age, String name, double score){
System.out.println("构造方法三");
this.age = age; //成员变量和形参同名age = age;
this.name = name;
this.score = score;
}
Student stu3 = new Student(18,"xiaowei",99.9);
stu3.introduce();
/*
age=18,name=xiaowei,score=99.9
*/
- 当在方法内需要用到调用到该方法的对象时,就可以this 和第一个一样
- 在类的构造方法中可以调用this(参数列表)来调用该类的指定构造方法
三、static关键字
static关键字,注意事项
- 静态方法中只能访问外部的静态成员
- 静态方法中不能出现this关键字(先于对象之前,this是对象的引用)
- 用来修饰类成员,修饰成员变量称为类变量(静态变量)
- 修饰方法叫,类方法(静态方法)
- 当类被加载的时候就会被加载,优先于对象的存在 可以不依赖于对象进行访问(类变量,类方法)
- 用来修饰语句块——称为静态代码块,先于构造方法执行,只会执行一次,用来对静态成员做初始化
- 调用的时候可以直接通过类名.成员来访问 类名.成员
四、构造方法
4.1、概念和作用
- 构造方法负责对象的初始化,为属性赋合适的初始值
- 构造方法语法规则 构造方法名与类名一致 没有返回类型,什么都不写(void是无类型变量) 方式实现主要为字段赋初值
- 构造方法调用 new操作符(实例化对象时,自动调用)
- Java系统保证每个类都有构造方法 即使你没写构造方法,系统也会自动帮你写上
五、包
5.1、打包的意义
Package——声明包
可以编写属于自己的java包,为了保证包名的唯一性,要求唯一的前缀,推荐使用互联网上的域名倒置作为唯一前缀
- 标准Java库是由一系列包组成,包括java.lang java.util等等
- 标准包就是层次型包结构,就如同硬盘上嵌套的子目录一样,我们可以使用嵌套层次结构来组织包
- **为了更好的规范代码,防止命名冲突和混乱,**所以java出现了打包机制
- 当把类组织起来放进一个包内时,也就给包中的成员赋予了相互访问的权限,就拥有了该包内的程序代码
- 包访问权限把类聚集在一个包中这一做法提供了意义和理由
5.2、使用
- 一个类可以使用同一个包中的所有类
- 一个类可以使用其他包中的公开类
- 怎么使用公开类 1、在每个类前面加上完整包名,例如:
java.util.Scanner sc = new java.util.Scanner(System.in);
2、更简洁的方式:使用import语句来导包(快捷键ctrl+shift+o)
import java.util.Scanner; //文件顶部导包,快捷键ctrl+shift+o
Scanner sc = new Scanner(System.in);
3、可以import特定类,也可以导入整个包,通过在源代码文件顶部(import java.util.*)
import com.xiaowei.use.*;//文件顶部导包
Demo2 d = new Demo2();