一、面向对象
1.1 This
1.1.1 是什么
this:是每个对象中,保存自身内存地址的一个引用类型
this就表示这个对象自己
相当于 我们说 “我”一样
1.1.2 能做什么
在成员方法/构造方法中,区分同名的局部变量和成员变量
语法:this.xxx =xxx;
用在某个构造方法中,用于重载当前类中其他的构造方法,提高代码重用性
语法:this(参数):必须在构造方法第一行
return this;返回当前对象的内存地址,可以做到链式调用
1.1.3 怎么用
区分成员和局部变量
重载调用构造方法
public date(){
this(1970,1,1):
}
public Date(int year, int month,int day){
this.year =year;
this.mouth = mouth;
this.day =day;
}
链式调用
public sttaic void main(String[] args){
This_02 t = new This_02();
t.m1().m2();
}
public This_02 m1(){
System.out.println("我是m1");
return this;//(返回地址)
}
public void m2(){
System.out.println("我是m2"):
}
1.1.4 注意事项
1、重载调用构造方法语句,必须在构造第一行
//无参构造
public Date(){
// this.year = 1970;
// this.month =1;
// this.day =1;
上面代码和有参构造代码一样,属于重复代码
重载调用有参构造,必须在构造方法中的第一行(注释和换行)
this(1111,1,1);
2、this不能出现在静态方法中(无法从静态上下文中引用非静态 变量 this
二、 Static
1.1static是一个修饰符,主要用来区分静态和动态属性
static修饰的类体中的变量是静态变量
static int a =10;
static修饰的方法是静态方法
public static void m1(){}
static 可以订阅静态语句块
static{}
实例语句块 : 等同于看做成员方法
语法 :{ }
创建一次对象,就执行一次
封装
封装是把对象的所有组成部分组合在一起,封装使用访问控制修饰符将类的数据隐藏起来,控制用户对数据的访问和修改的程度,适当的封装可以让代码更容易理解和维护,也加强了代码的安全性
1.1 软件包机制
packge : 是设置编译之后的class文件的保存位置,和源文件位置无关
如果源文件中没有出现package语句,则class文件和源文件在同目录
软件包机制:
1、为了解决命名冲突问题,在类名前假日命名空间
2、package语句只能2出现在Java源文件的第一行,也可以没有
3、package一般采用公司域名倒叙的方式
公司域名倒叙.项目名。模块名
4、带有package语句的Java文件的编译
javac-d生成路径-encoding字符编码java文件
javac-d./-encoding utf-8 xxx.java
-d :disk 磁盘 ./表示当前目录
5、带有package语句的class文件的运行
Java 包名.类名
java com.tledu.zrz.A
完整的类名 是带有包名的
能够找到这个文件的全路径,才是这个文件的文件名
IMPORT
1、引用当前类中需要的其他类,否则需要全类名
2、必须出现在package语句值下,class之上
3、import 包名。类名 只引入对应的某一类
4、import 包名.*;引入该包下所有类
5、java.lang.*下面的类是核心类,使用不需要导包
、
三、权限控制
public :公共的,谁都可以使用
private :私有的,只有当前类可以访问
protected :受保护,继承权限