Day11 this、static、封装

1.面向对象

1.1 This

1.1.1 是什么

this是对象中,保存自身内存地址的一个引用类型变量

this表示对象自己

1.1.2 能做什么

1.在成员方法/构造方法中 区分同名的局部变量和成员变量

2.用在某个构造方法之中,重载调用当前类的替他的构造方法,提高代码的重用性

3.return this:返回当前对象的内存地址,可以做到链式调用

1.1.3 怎么用

1.1.3.1 区分成员和局部变量

调用成员变量直接this.属性值,局部变量则是直接写就行

1.1.3.2 重载调用构造方法

重载调用有参构造,必须在构造方法中的第一行(有效代码的第一行,注释和换行之类的不算)

this(1970,1,1)

1.1.3.3 链式调用

t.m1().m2();

1.1.4 注意事项

1.重载调用构造方法语句,必须在构造方法的第一行

2.this 不能出现在静态方法中

1.2 Static

1.2.1 是什么

static是一个修饰符,主要用来区分静态和动态属性

1.2.1 能做什么

1.static修饰的类体中的变量是静态变量

2.static修饰的方法是静态方法

3.static还可以定义静态语句块

            static{}

1.2.3 怎么用

1.2.3.1 静态变量

static int i = 20;

1.2.3.2 静态方法

public static void m1(){

      System.out.println("静态方法");

}

1.2.3.3 静态语句块

一个大括号就是一个语句块,而方法是一个有名字的语句块,可以重复使用

而静态语句块 等同于是没有名字,没有权限控制,没有参数列表,没有返回值的静态方法。同理也就不能重复使用。

静态语句块和静态方法的优先级一样

1.2.4 实例语句块

等同看作成员方法

语法:{   }

创建一次对象,就执行一次

1.3 封装

1.3.1 是什么

封装是把对象所有的部分组合在一起,封装使用访问控制修饰符,将类的数据隐藏起来,

控制用户对数据的访问和修改的程度。

适当的封装可以让代码更容易理解和维护,也加强了代码的安全性

1.3.2 软件包机制

1.3.2.1 Package

package:是设置编译之后的calss文件的保存位置,和源文件位置无关

如果源文件中,没有出现package语句,则class文件和源文件在同目录下

*软件包机制

1.为了解决命名冲突问题,在类名前加入命名空间

2.package语句只能出现在java源文件的第一行,也可以没有

3.oackage一般采用公司域名倒叙的方式

公司域名倒叙.项目名.模块名

4.带有package语句的java文件的编译

5.带有package语句的class文件的运行

完整的类名 是带有包名的

能够找到这个文件的全路径,才是这个文件的文件名

被调用的类和当前类如果在同一目录下(同包)则可以直接使用

否则就要写类名

1.3.2.2 import

1.引入当前类中需要的其他类,否则就需要些类全名,引入之后,就可以直接写类名使用即可

2.必须出现在package语句之下,class语句之上

3.import 包名.类名:只引入对应的某一个类

4.import 包名.*:引入该包所有的类

5.java.lang.* 下面的类是核心类,使用不需要导包

注意:导包的时候 注意别导错包, 按下空格 和 回车的时候 也会自动导入

比如Date , util下和sql下都有,就很容易出现错误,需要额外留意

静态导入当我们在使用其他类的静态属性的时候,就不需要使用类名调用了。而是直接写名字调用

import static 包名.类名.属性:导入某个静态属性

import static 包名.类名.*:导入所有的静态属性

1.3.3 权限控制

权限控制修饰符

  限制某个数据 可以 被谁使用

public , private, protected

public 公有的谁都能访问

private 私有的,只有当前类能访问

protected :受保护的,继承权限

1. 在继承关系的体系中,通过子类调用

2.同包,就算没有继承关系也能访问

默认:当不使用以上三种修饰符的时候,则是默认权限,只能让当前包中的类使用

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值