java面向对象复习

JDK的安装

1、 下载、安装

2、 配置环境变量

a) Path:.;%JAVA_HOME%\bin;

b) JAVA_HOME:JDK的安装目录

c) Classpath:5.0以后不需要安装

 

JDK和JRE和JVM

 

JAVA程序的运行过程:

1、 编译javac:吧java文件编译成class字节码文件

2、 运行java:运行class文件

 

 

标识符(给类、方法、变量起名)

1、 以字母(采用unicode字符集)、下划线、$开头

2、 其余部分可以是:字母(采用unicode字符集)、下划线、$开头、数字

3、 不能为关键字

 

变量

1、 局部变量

a) 定义在方法内或者是语句块内。从属于方法和语句块。使用前手动初始化。

2、 成员变量(实例变量field)

a) 定义在类里面,方法外面。从属于对象!

b) 如果没有手动初始化系统会自动初始化。初始化的规则如下:

i. 数字:0.00

ii. 布尔:false

iii. Char:\u0000

iv. String:null

3、 静态变量

a) 定义在方法里面类外面使用static修饰。从属于类。

b) 如果没有手动初始化系统会自动初始化。初始化的规则如下:

i. 数字:0.00

ii. 布尔:false

iii. Char:\u0000

iv. String:null

 

数据类型:

1、 基本数据类型:

a) 数字:

i. 整数:byte(1个字节) short(两个字节) int(4个字节,整型常量默认该类型) long(8个字节)

ii. 浮点数:float(4个字节) double(8个字节,浮点数常量默认该类型)

b) 字符char(2个细节)

c) 布尔boolean(1位)

2、 引用类型:(4个字节)

a) 数组

b) 对象

c) 接口

 

表达式

1、 类型的自动提升

a) 如果有long,结果是long

b) 如果有double,结果是double

2、 强制转型

 

运算符

1、 算术运算符

2、 关系运算算符

a) 常见错误写法:1<a<3

3、 逻辑运算符:

a) &&

b) ||

c) !

4、 位运算符

&,|,<<(左移一位相当于乘2),>>(右移一位相当于乘2)

5、 扩展运算符

+=,-=,*=、/=

6、 三目运算符

(布尔表达式)?A:B

7、 赋值运算符(=):

If(b=true)不对if(b)正确

If(c=3)不对if(3==c)正确格式好

 

控制语句

1、 顺序结构

2、 选择结构

a) If

b) If else

c) If elseif….else

d) Switch 多值选择 表达式:int 或char/short/byte,枚举

break;问题

3、 循环结构

a) While 先判断后执行

b) For

c) Do while 先执行后判断

Break;强制终止整个循环

Continue:结束本次循环,继续下一次!

 

面向对象基础:

1、 对象的进化史

a) 基本数据类型阶段 数据少 无数据管理时代

b) 数组 数据多了,将同类型的数据放在一起 弱管理

c) 结构体 数据多了复杂了,将不同类型的数据放在一起 强管理

d) 数据多了、类型复杂了、行为复杂了。讲不通的类型的数据放在一起 超强管理时代

 

对象和类

对象是具体的,类是抽象的。类也是一个模板,通过模板可以new对象

 

定义类

(public)Class 类名 {

//属性

Private 数据类型 属性名;//建议增加相应的getter,setter方法

 

//方法

 

//构造方法

 

}

Public 类 类名和文件名必须一致

 

构造方法

1、 方法名和类名要保持一致

2、 无返回类型

3、 通过new来调用

4、 无参构造器

a) 如果没有手动定义构造器,系统会自动添加一个无参数的构造器

b) 如果已经定义了构造器,系统就不会为我们添加无参构造器

5、 构造方法的第一句总是Super,调用直接父类的构造方法

a) 有继承关系的构造方法的调用顺序

 

方法的重载(overload)

两同(同一个类,同一个方法)三不同(参数列表不同:类型、个数、顺序)

返回值不同,不构成重载

形参名称不同,不构成重载

 

This

1、 普通方法中:调用方法的对象

2、 构造方法中:正要初始化的对象

3、 用来调用其他的构造器

Super

1、直接父类的引用

Static

1、用它修饰的变量或方法变为静态的,从属于类,通过类名进行调用。实际存储于方法区中

Package

1、 package必须用于非注释行第一句,

2、 包名,域名到这写

Import

1、 引入外部的类

2、 Import static 导入静态的属性

Final

1、 修饰变量:常量(全部大写、下划线)

2、 修饰方法:不能重写

3、 修饰类:不能被继承

 

面向对象的三大特征:

封装:

1、 通过private 、default、protect、public实现属性或方法的分装

2、 高内聚,低耦合

继承:

1、 通过extends。两个好处:

a) 代码重组

b) 通过继承对现实实现更加准确的建模

 

Object类:

1、 是所有类的根基类

2、 ToString

3、 Equals、hashcode

4、 Wait、notify、notifyAll

 

方法的重写(overwrite)

=:方法名保持一致

>=:子类的修饰符可以大于等于父类的

<=,<=:子类的返回值类型小于等于父类的返回值类型

子类的声明异常类型不能超过父类的类型

 

多态:(三个必要条件:继承、方法的重写、父类的引用指向子类对象)polymorphism

 

动态绑定、静态绑定

 

 

抽象类:abstract

1、 包含抽象方法(必须背子类重写)的类,一定是抽象类

2、 抽象类不能被new

3、 抽象类可以包含普通方法、成员变量、构造方法

 

接口:

1、 interface

2、 类实现接口:implements 可以实现多个接口

3、 接口之间可以多继承,类只单继承

4、 接口定义的一组规范!实现现实事件中这样的逻辑:如果你是则必须。。。

 

内存机制

栈:

1、 存放局部变量

2、 不可以被多个线程共享

3、 空间连续,速度快

堆:

1、 存放new出的对象

2、 可以被多个线程共享

3、 空间不连续,速度慢,但是灵活

方法区:

1、 存放的信息:代码、静态变量、字符串常量等

2、 可以被多个线程共享

3、 空间不连续,速度慢,但是灵活

 

垃圾回收机制(GC Garbage Collection)

1、 程序员不能调用垃圾回收机制,但是可以用System.gc()建议回收

2、 Finallize:一般也不要去调用

 

递归算法:

1、 递归头:什么时候不调用自己

2、 递归体:什么时候调用自己

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值