java面向对象

JDK的安装:

配置环境变量:

a)path:,;%JAVA_HOME%\bin;

b)JAVA_HOME:JDK的安装目录

c)classpath

JDKJREJVM

JAVA程序的运行过程:

1.编译javac:java源文件编译成class字节码文件

2.运行java:运行class文件

 

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

1.以字母(采用Unicode字符集),下划线,$开头

2.其余部分可以是:字母(采用Unicode字符集),下划线,$,数字

3.不能为关键字

 

变量:

1.局部变量

定义在方法内或语句块内,从属于方法或语句块

在使用之前,必须要手动初始化

 

2.成员变量(实例变量 field

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

如果我们没有手动初始化成员变量,系统自动初始化,初始化规则如下:

数字:0.0  布尔 :false  char\u0000  引用类型:null

3.静态成员变量(类变量)

定义在类型里面,方法外面,使用static修饰,从属于类!

如果我们没有手动初始化静态变量,系统会自动初始化,初始化规则同成员变量

数据类型: 

1.基本数据类型:

a) 数字

i. 整数:byte1个字节) short2个字节) int4个字节) long8个字节)

ii. 浮点数:float4个字节) double8个字节)

b)  字符char2个字节)

c 布尔 boolean1位)

2.引用类型(4个字节)

a)数组

b)对象

c)接口

 

表达式:

1.类型的自动提升

如果有long,结果就是long

如果是double,结果就是double

2.强制转型

 

运算符:

1.算数运算符

2.关系运算符

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

3.逻辑运算符

  &&||,!

  &| 3&4

4.位运算符

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

  3 * 4

5.扩展运算符

6.三目运算符

 (布尔表达式)?AB

7.赋值运算符(=

  Ifb=true)   ifc==3

 

 

 

控制语句:

1.顺序结构

2.选择结构

a)If

b)If else

c)If else if else

d)Switch 多值选择,表达式 ,intchar/short/byte,枚举

break:问题

3.循环结构

a)While

b)For

c)do while

break:强制终止整个循环

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

 

 

面向对象基础:

1.对象的进化史

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

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

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

d)对象               数据多了复杂的,行为也复杂了,将不同类型的数据放在一起

对象和类:

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

 

 

 

定义类:

class (类名) {

//属性

Private 数据类型 属性名:  //建议增加相应的gettersetter方法

//方法

//构造方法

}

构造方法:

1.方法名必须与类名保持一致

2.无返回类型

3.通过new来调用

4.无参构造器问题

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

B)如果我们自己定义构造器,系统不会为我们添加无参构造器

5.构造方法的第一句是super,即直接调用父类的构造方法

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

 

 

方法的重载(overload:

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

返回值不同,构成重载么?No

形参名称不同,构成重载么? No

 

 

 

this

普通方法中,调用本方法对象

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

还可以用来调用其他构造方法

 

 

Super():

Static:

用来修饰的变量和方法,就变成了静态变量和静态方法,从属于类,通过类名即可调用。

实际存储于方法中

Package

Package必须位于非注释行第一句。

包名:域名倒着写

Import static:导入类的静态属性

 

Final

修饰变量:常量(命名规范:全部大写,多个单词之间通过下划线隔开)

修饰方法:不能被重写

修饰类:不能被继承

 

面向对象的三大特征:

封装:

通过private defaultprotected public关键字实现属性或方法的封装

“高内聚,低偶聚”

继承:

通过extends 好处:

1.代码重用

2.通过继承实现显示世界更加准确建模

3.类只有单继承

方法的重写:

=:方法名保持一致

>=,:子类的权限修饰符可以大一等于父类的

<=:子类的返回类型小于等于父类的类型。子类声明异常不能超过父类的类型

 

Object类:

1..是我们所有类的根基类

多态:

三个必要条件:继承,方法的重写,父类引用指向子类对象

动态绑定,静态绑定:

 

抽象类:

1.包含抽象方法的类,一定是抽象类

2.抽象类不能被new

3.抽象类可以包含:普通方法,成员变量,构造方法。

 

接口:

1.Interface

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

3.接口可以多继承

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

 

 

 

内存机制:

1.存放局部变量

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

3.空间连续 速度快

1.存放对象

2.可以被多个线程共享

3.方法区:空闲不连续,速度慢  但是灵活

 

1.存放类的信息,代码,静态变量,字符串常量等。

2.可以被多个线程共享

3.空闲不连续,速度慢  但是灵活

 

垃圾回收器(GC

1.程序员不能调用垃圾回收器,但是可以通过SystemGc建议回收

2.finalize:一般不调用

 

递归算法:

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

2.递归法:什么时候调用自己

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值