java基础学习回顾01-数据类型+面向对象
2021-10-31 16:51:26
一、标志符和关键字
1.1标志符:
(1)以下划线、字母、数字、$ 命名,其中数字不可开头
(2)大小写敏感
1.2关键字
(1)所有关键字都是小写
(2)保留关键字:goto\const
(3)true、false、null不是关键字,但是也不可以作为标志符
二、基本数据类型
(1)数据类型分为引用数据类型和基本数据类型
(2)基本数据类型分为4大类,8种数据类型(整型:byte/short/int/long,浮点型float/double,字符型char,布尔型boolean)
2.1 存储数据的变量
(1)要素:Java是一种强类型语言,变量要素包括变量名+作用域+数据类型
(2)变量根据作用域:类变量、成员变量(类内、方法体外)、局部变量
(2)关键:申明时指定数据类型,使用时必须先赋值
1)类的成员变量会被赋默认初始值,数组定义后也会有默认值
2.2 基本数据类型转换
(1)整型常量默认为int型,浮点型常量默认为double型---->定义float型常量 1.22F、1.22f
(2)转化分为:强制转换和自动转换(小容量向大容量转换,自动完成)
1)自动转:char、byte、short ----int---long---float---double
2)强转:(数据类型)
public static void main(String[] args) { //自动转换 byte b1=12; short s1=111; char c1='1'; int i = b1 + s1 + c1;//1️⃣转int int i1 = b1 + s1 + c1 + 111;//转int long long1 = 123; long l = long1 + i1;//2️⃣转long float f = 1.233f; float v1 = f + l;//3️⃣转float double v = l + 1.23;//4️⃣转double //强制转换 byte b2 = 120; /* short s2 = s1 +s1;//provide int,short运算时会自动提到int byte b3 = b2 + b1;//provide int,byte运算时会自动提到int * */ byte i2 = (byte)( b2 + b1); System.out.println("120+12的bite强转为" + i2); //结果为-124 /* int i3 = i2 + 1.2;//provide double,含有double运算时会自动提到int * */ int i3 = i2 + (int)1.2; System.out.println("-124+1.2的bite强转为" + i3); //结果为-123,有精度损失 }
三.面向对象
3.1 基本思想
分析思想:类和对象---属性和方法---类和类中间的关系
3.2概要
(1)类是对象的抽象,对象是类的具体实现
(2)类的组成部分:
1)属性(成员变量/静态部分)
2)方法(动态部分)
(3)类间的关系:
1)继承
2)实现
3)关联
4)聚合
1)聚集(球队和队员,空心菱形)
2)组合(器官和身体,实心菱形)
(4)面向对象的3个特征:继承、封装、多态
(3)合适的方法出现在合适的类中!
3.3 构造新对象
3.3.1内存分析
(1)分配内存:
1)栈:对象引用、局部变量(当方法调用完成之后,栈里面为它分配的空间全部都要消失,即把这个方法调用时分配给它的内存空间释放出来,)
2)实际对象
3.4 抽象类和接口(继承和实现)
3.4.1 抽象类和抽象方法
(1)有抽象方法的一定是抽象类,反之不然
(2)抽象类的子类还可以是抽象类(实现不了,还是抛给后代)
3.4.2 接口
接口的本质是一种特殊的抽象类,只包含静态常量(public static final)和抽象方法(1.8以前)
(1)接口支持多继承,即一个接口是可以继承多个接口
(2)一个类可以实现多个接口
3.4.3 对比
(1)抽象类可以有非抽象方法/普通成员变量,接口都是抽象方法/静态常量
(2)抽象类只能被单继承但可以多实现,接口可以多继承(不能实现)
(3)抽象类可以有构造方法,接口不能有
(4)抽象类中的抽象方法的访问类型可以是public,protected,接口方法只能是public
3.5 多态(动态绑定)
(1)在执行期间判断对象的实际类型,根据实际类型调用对应的方法
1)父类的引用指向子类的对象
2)调用的方法被重写
(2)在运行时确定要调用的方法(编译看左边,运行看右边)
(3)附:静态绑定:final,static,private和构造方法是静态绑定。
3.6 对象转型
(1)向上转型(多态)
(2)向下转型(访问右边的独有属性)
3.7 object对象的方法
重写
(1)toString()
(2)equals()

浙公网安备 33010602011771号