1/10笔记

1 This

1.1 This是什么 是每个对象中,保存自身内存地址的一个引用型变量 This就表示当前对象

1.2 This能做什么

在成员方法或构造方法中,区分同名的成员变量和局部变量 this.xxx

用在构造方法中,重载调用当前类中的其他构造方法,但是必须写在构造方法第一行 this(xxx)

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

1.3 This怎么用

静态变量可以和局部变量同名 局部变量优先级高 用类名.变量名可以区分静态变量和局部变量

public MyDate(){this(1970,1,1);}调用当前类的指定构造方法,该写法只能写在构造方法第一行

public MyDate(int year, int month, int day) {this.year=year;this.month=month;this.day=day;}

链式调用t.m1().m2();

This不能出现在静态上下文中

2 static   修饰符,关键字,用来区分静态和成员

类体中使用static修饰的变量是静态变量

用static修饰的方法是静态方法

用static定义静态语句块

静态语句块,等同于静态方法

静态语句块自动执行,在程序加载阶段执行完成,并且只执行一次

适合做一些初始化工作

有多个static语句块时,从上到下依次执行

实例语句块:可以看做成员方法,没有static修饰的语句块就是实例语句块 

创建对象之后立即执行,每创建一个对象就执行一次,并且在构造方法之前

3 封装

把所有组成部分组合到一起,还可以通过权限控制修饰符将数据隐藏起来,可以控制用户对类数据的

修改程度

适当的封装可以让代码更容易理解,易于维护,更提高了代码的安全性

3.1 包机制

3.1.1 package

package : 软件包机制
1 )主要解决了命名冲突问题,在类名前加命名空间
2 )完整的类名是带有包名的  , 包名.类名 才是这个类的名字
3 )package语句 必须出现在java源文件的第一行
4 )package语句是 规定编译之后的class文件保存的位置,和源文件无关
5 )命名规则  一般采用公司域名倒叙

3.1.2 import

import java.util.Date导入时间类

import java.util.*导入util下所有类

 import 语句 用于把当前类中需要的其他类载入, 必须出现在class语句之上,package语句之下

 java.lang.* : 该包下所有类均为系统核心类,使用时不需要导入

3.2 权限控制:

public:公共的,哪里都能访问

private:同类,只能当前类访问

default:同包,不用修饰符,同包可访问

protected:受保护的,继承权限,要么同包要么继承

同包测试:公共的√ 私有的× 默认的√ 受保护的√

不同包测试:公共的√ 私有的× 默认的× 受保护的×

继承:公共的√ 私有的× 默认的× 受保护的√

4 继承 (java中只支持单继承)

4.1 继承是什么

一个类只能继承一个父类,但是一个类可以被多个类继承

4.2 能做什么

目的:代码复用,提高效率,如果父类满足不了子类需求,可以进行覆写,可以使用多态

如果一个类没有显示继承一个类,那么该类默认继承Object

Object是java提供的一个根类,所有类都得直接或间接继承它

4.3 怎么用

语法:class 类名 extends 父类名 {父类体}

5 super

5.1 是什么 代表了父类的特征

5.2 做什么 

1)代表了父类的特征 用在成员方法和构造方法中,区分父子类同名的方法和变量

2)用在子类构造中,调用指定的父类构造方法 super(xxx);如果在字了构造方法中,没有显示出现super()也没有出现this(xxx)则默认有一个super()调用父类无参构造

5.3 怎么用

区分父子类同名的属性          调用父类的构造方法

因为构造方法第一行有super()调用父类构造,某一个类如果构造方法私有化,那该类不会被继承

6 覆写/重写: {  写一个和父类一样的方法,但功能不同

1)方法名,返回值,参数列表 必须和父类一致

2)控制权限 不能比原方法拥有更低的访问权限

3)不能比原方法拥有更宽泛的异常覆写        }

  特指成员方法,只有成员方法可以覆写

应用场景:当父类功能无法满足子类需求时要覆写

@override:是源码注解,编译时会判断是否的覆写,防止拼错,可以降低错误率

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值