Day11 this、static、封装、继承

回顾

访问一个不存在的属性,编译报错

当使用一个null值调用成员属性的时候会出现空指针异常,并且在运行时报错

1.面向对象

THIS

是什么

this:是每个对象中保存自身内存地址的一个引用变量,表示这个对象自己,相当于自己说"我"

做什么

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

        语法:this.xxx = xxx;

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

        语法:this(参数);必须在构造方法的第一行

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

怎么用

1.区分成员和局部变量

2.重载调用构造方法

3.链式调用(核心点:前者的返回值一定是可以调用后者的引用)

谁调用的这个方法,this就是谁

this不能出现在静态方法中

Static

修饰符,主要用来区别静态和动态属性

能做什么

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

2.修饰静态方法

3.定义静态语句块

怎么用

1.静态变量

2.静态方法

3.静态语句块

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

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

静态语句块在类加载阶段执行并且只执行一次

访问类的静态属性的时候,类加载

4.实例语句块;:等同看作成员方法

        语法:{ }

创建一次对象就执行一次

封装

是什么

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

软件包机制

package:是设置编译之后的class文件的保存位置,和源文件位置无关,如果在源文件中没有出现    

        package语句,则class文件和源文件在同目录

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

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

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

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

5.class文件的运行

import

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

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

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

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

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

权限控制

限制某个属性可以被谁使用:public:公共的,谁都能访问

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

                                            protect:受保护的,继承权限

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

                                                        2.同包,就算没有继承关系,也可以进行访问

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

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值