Java入门第二季-学习笔记

本文内容来自于幕课网《Java入门第二季》,点击打开链接 比起第一季的笔记更加完整了,主要介绍内容有:类和对象(定义类、变量、构造方法、静态变量、静态方法、静态初始化块)、封装(定义包、系统包、访问修饰符、this关键字、内部类)、继承(方法的重写、final关键字、super关键字、object类)、多态(引用类型转换、抽象类、接口)等。


类和对象

定义类  

public class 类名{
    属性 类型(成员变量);
    方法;
}
创建对象   类名 对象名 = new 类名(); (实例化)
使用对象  对象名.属性; 对象名.方法();
属性 又称为 实例变量

变量

成员变量  类中定义  ,用来描述对象将要有什么;(具有初始值)
局部变量  方法内部定义;

构造方法(系统可自动生成)

1. new+构造方法 创建一个新对象
2. 用于初始化对象
3. 其方法名与类名相同,且没有返回值
4. 带参构造方法的使用  类名 对象名 = new 类名(参数);

静态变量

static修饰  被类的所有对象所共享  可用类名访问 或对象名访问。

静态方法

1.静态方法中不能直接调用非静态变量,需要创建对象访问;
2.普通成员方法中可以直接访问同类的非静态变量和静态变量;
3.静态方法不能直接调用非静态方法,需要创建对象访问;

静态初始化块

静态初始化块只在类加载时执行,且只会执行一次,同时静态初始化块只能给静态变量赋值,不能初始化普通的成员变量

静态初始化块最先被执行,然后执行普通初始化块,最后才执行构造方法

封装

隐藏属性  通过方法来访问属性

实现步骤

1.修改属性可见性  改为private
2.(惯例)创建getter(无参有返回值)/setter(有参无返回值)方法
3.在方法中加入属性控制语句

Java中的包
管理Java 文件  解决同名文件冲突


定义包

(全小写字母)

package 包名//第一行
包之间用”.“隔开

系统包
java.(功能).(类)
java.lang.()  包含java语言基础的类
java.util.()  包含java工具类
java.io.() 包含输入、输出类
使用包
import 包名.类;


访问修饰符
修饰属性和方法的访问范围



this关键字

代表当前对象   this.属性  this.方法

内部类

  内部类( Inner Class )就是定义在另外一个类里面的类。与之对应,包含内部类的类被称为外部类。

1. 内部类提供了更好的封装,可以把内部类隐藏在外部类之内,不允许同一个包中的其他类访问该类

2. 内部类的方法可以直接访问外部类的所有数据,包括私有的数据

3. 内部类所实现的功能使用外部类同样可以实现,只是有时使用内部类更方便


成员内部类
静态内部类
方法内部类
匿名内部类

成员内部类(普通)
1.外部类是不能直接使用内部类的成员和方法
2. 如果外部类和内部类具有相同的成员变量或方法,内部类默认访问自己的成员变量或方法,如果要访问外部类的成员变量,可以使用 this 关键字。

静态内部类

1、 静态内部类不能直接访问外部类的非静态成员,但可以通过 new 外部类().成员 的方式访问 

2、 如果外部类的静态成员与内部类的成员名称相同,可通过“类名.静态成员”访问外部类的静态成员;如果外部类的静态成员与内部类的成员名称不相同,则可通过“成员名”直接调用外部类的静态成员

3、 创建静态内部类的对象时,不需要外部类的对象,可以直接创建 内部类 对象名= new 内部类();


方法内部类(不能使用访问控制符和 static 修饰符。)
该内部类定义在外部类的方法中,方法内部类只在该方法的内部可见,即只在该方法内可以使用。

继承

单继承  一个类只有一个父类
子类拥有父类的所有属性和方法(除private),实现代码复用

class 子类 extends 父类

初始化顺序 

1.先初始化父类  再初始化子类
2.先执行初始化对象属性,再执行构造方法初始化


方法的重写

子类对父类方法可以重写,优先调用子类方法
返回值类型 方法名 参数类型及个数都与父类继承方法相同

final关键字
可以修饰
类 (不许被继承)、方法(不能被重写)、 属性(无法隐式初始化)、 变量(常量)

super关键字
代表父类对象
1.访问父类属性  super.属性
2.访问父类方法 super.方法();

Object 类
默认所有类的父类,方法适用所有子类

1. toString()方法
返回对象哈希码(可重写)地址
2. equals()方法
比较对象的引用是否指向同一块内存地址

getClass() 类对象 代码信息 
类的对象 数据信息

多态


1.引用多态 

父类的引用可以指向(本类/子类)的对象



2.方法多态

创建本类对象时,调用本类方法
创建子类对象时,调用子类重写或继承的方法

引用类型转换
1.向上类型转换(隐式/自动类型转换) 小类型->大类型  无风险
2.向下类型转换(强制类型转换) 大类型->小类型  有风险 (溢出)
3.instanceof运算符  避免安全性问题

抽象类

使用abstract关键字修饰

作用:
约束子类必须有哪些方法,不关注如何实现

使用规则:
1. abstract定义
2. abstract定义抽象方法,只有声明,不需要实现
3.包含抽象方法的类是抽象类
4.可以包含普通方法,也可以没有抽象方法
5.不能直接创建,可以定义引用变量

接口

定义一批类需要遵守的规范,不关心类的内部数据和方法实现细节

定义
不使用class,使用interface关键字   

属性默认 public static final
方法默认 public abstract


与匿名内部类配合使用



练习:

本季练习题为建立一个租车系统,需要完成的功能有:




下一篇将给出我的练习解答



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值