java SE 第二周总结

本文介绍了 Java SE 中的面向对象概念,包括类与对象的区别、成员变量与局部变量的作用域及生命周期差异、构造方法及继承的概念,并探讨了多态的应用场景。

java SE
二维数组
定义
数据类型[] 数组名
数组一旦被定义长度不能发生改变
动态初始化
由程序员决定数组的长度
静态初始化
由程序员决定每个元素的具体数值
数组名.length遍历数组
方法
封装了特定功能的代码块
形参 : 形式上参与方法内的逻辑运算
实参 : 具体参与运算的数据 给形式参数赋值
方法返回值
返回值: 方法执行完毕后的结果
只能直接调用
无返回值 : 方法执行完毕无结果
推荐接收调用 返回值类型 变量名 = 方法名(实际参数)
方法的重载
Overload
名字相同 参数列表不同
面向对象
什么是面向对象
更符合平时的思维习惯
把复杂的事情简单化
把我们从执行者变成指挥者
类与对象
对类实务的实例
先有类再有对象
类相当于对象的模板
几个区别
成员变量 : 定义在类中方法外的变量
成员方法 : 定义在类中方法外的方法
成员变量和局部变量
因为在类中的位置不同,导致作用域不同和导致在内存中的位置不同
因为在内存中的位置不同,导致初始化值不同和声明周期不同
构造方法
构建创造对象的方法叫构造方法 constructor
new 对象
本质是在创建对象 其实也是在调用构造方法
封装
把代码封装起来 提高代码复用性
继承
类与类之间的关系
子类继承父类可以使用父类非私有的成员
一个子类只可以有一个类(单一继承)
一个子类只能有一个父类
一个父类可以有多个子类
父类对象不可以使用子类中的成员
关键字
return : 结束方法 并把方法的结果返回给调用者
private : 访问权限修饰符 私有化 只能在本类中访问
public : 最大的权限修饰符
this
this.变量名
方法名
打破变量访问的就近原则.强制去访问 本类成员位置上的变量或方法
super : 本类父类对象的引用
static
可以修饰成员变量和成员方法
被所有对象共享
被类名直接调用
优先于对象加载的
随着类的加载而加载
静态成员方法只能访问静态成员变量和静态成员方法
extends
继承
final
最终的
自定义常量
abstract
定义抽象方法和抽象类
implements
接口
接口
比类更为抽象的"类"
interface
大驼峰命名
单一继承 多层继承
多实现
打破了java继承的单一性
提供规范 对子类实现类的行为做约束
特性
JDK7
抽象方法 : 接口中所有的方法都是抽象方法
自定义常量 : 接口中所有的成员变量都是自定义常量
JDk8
特殊: 接口中的静态方法只能使用接口名调用不可以使用实现类对象调用
当实现类实现多个接口时,多个接口中有同名的默认方法,实现类必须重写该默认方法
JDK9
新增私有方法
多态
必须有继承或者实现关系
成员变量 就近原则
成员方法 动态绑定
构造方法 子类对象要加载优先加载父类
有方法的重写
父引用指向子类对象
多态的弊端
父引用不能访问子类的特有成员
父引用只能调用和子类共有的成员
类型转换
向上转型 自动
向下转型
弊端和解决方案
提前判断,如果父引用是这个类就转,不是这个类型就不转
一个类只可能有一个字节码对象
使用场景
拿父引用作为方法的形参,启动方法的方式有n+1种
拿父类型作为方法的返回值类型,返回方法结果时可以有n+1种对象类型返回
拿父类型作为容器的数据类型,容器中的数据类型就可以是n+1种
匿名内部类
匿名内部类匿掉的是内部类的类名
权限修饰符
private < 不写 <protected <public
可变参数
在可变参数的后面不可以再有其他任意类型的形参
在可变参数的前面可以有任意类型的个数的形参
没有增删只有改查
二维数组
定义
数据类型[] 数组名
数组一旦被定义长度不能发生改变
动态初始化
由程序员决定数组的长度
静态初始化
由程序员决定每个元素的具体数值
数组名.length遍历数组
方法
封装了特定功能的代码块
形参 : 形式上参与方法内的逻辑运算
实参 : 具体参与运算的数据 给形式参数赋值
方法返回值
返回值: 方法执行完毕后的结果
只能直接调用
无返回值 : 方法执行完毕无结果
推荐接收调用 返回值类型 变量名 = 方法名(实际参数)
方法的重载
Overload
名字相同 参数列表不同
面向对象
什么是面向对象
更符合平时的思维习惯
把复杂的事情简单化
把我们从执行者变成指挥者
类与对象
对类实务的实例
先有类再有对象
类相当于对象的模板
几个区别
成员变量 : 定义在类中方法外的变量
成员方法 : 定义在类中方法外的方法
成员变量和局部变量
因为在类中的位置不同,导致作用域不同和导致在内存中的位置不同
因为在内存中的位置不同,导致初始化值不同和声明周期不同
构造方法
构建创造对象的方法叫构造方法 constructor
new 对象
本质是在创建对象 其实也是在调用构造方法
封装
把代码封装起来 提高代码复用性
继承
类与类之间的关系
子类继承父类可以使用父类非私有的成员
一个子类只可以有一个类(单一继承)
一个子类只能有一个父类
一个父类可以有多个子类
父类对象不可以使用子类中的成员
关键字
return : 结束方法 并把方法的结果返回给调用者
private : 访问权限修饰符 私有化 只能在本类中访问
public : 最大的权限修饰符
this
this.变量名
方法名
打破变量访问的就近原则.强制去访问 本类成员位置上的变量或方法
super : 本类父类对象的引用
static
可以修饰成员变量和成员方法
被所有对象共享
被类名直接调用
优先于对象加载的
随着类的加载而加载
静态成员方法只能访问静态成员变量和静态成员方法
extends
继承
final
最终的
自定义常量
abstract
定义抽象方法和抽象类
implements
接口
接口
比类更为抽象的"类"
interface
大驼峰命名
单一继承 多层继承
多实现
打破了java继承的单一性
提供规范 对子类实现类的行为做约束
特性
JDK7
抽象方法 : 接口中所有的方法都是抽象方法
自定义常量 : 接口中所有的成员变量都是自定义常量
JDk8
特殊: 接口中的静态方法只能使用接口名调用不可以使用实现类对象调用
当实现类实现多个接口时,多个接口中有同名的默认方法,实现类必须重写该默认方法
JDK9
新增私有方法
多态
必须有继承或者实现关系
成员变量 就近原则
成员方法 动态绑定
构造方法 子类对象要加载优先加载父类
有方法的重写
父引用指向子类对象
多态的弊端
父引用不能访问子类的特有成员
父引用只能调用和子类共有的成员
类型转换
向上转型 自动
向下转型
弊端和解决方案
提前判断,如果父引用是这个类就转,不是这个类型就不转
一个类只可能有一个字节码对象
使用场景
拿父引用作为方法的形参,启动方法的方式有n+1种
拿父类型作为方法的返回值类型,返回方法结果时可以有n+1种对象类型返回
拿父类型作为容器的数据类型,容器中的数据类型就可以是n+1种
匿名内部类
匿名内部类匿掉的是内部类的类名
权限修饰符
private < 不写 <protected <public
可变参数
在可变参数的后面不可以再有其他任意类型的形参
在可变参数的前面可以有任意类型的个数的形参
没有增删只有改查

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值