Java封装「掘金日新计划 · 12 月更文挑战」

91 阅读4分钟

“携手创作,共同成长!开启掘金成长之旅!这是我参与「掘金日新计划 · 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关键字,注意事项

  1. 静态方法中只能访问外部的静态成员
  2. 静态方法中不能出现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();