面向对象基础

JDK的安装:

  1. 下载、安装
  2. 配置环境变量
    a) path:.;%JAVA_HOME%\bin;
    b) JAVA_HOME:JDK的安装目录
    c) classpath

JDK和JRE和JVM:

JAVA程序运行过程:

  1. 编译javac :把java源文件编译成class字节码文件
  2. 运行java :运行class文件

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

  1. 以字母(采用Unicode字符集)、下划线、$ 开头
  2. 其余部分可以是:字母(采用Unicode字符集)、下划线、$、数字
  3. 不能为关键字

变量:

  1. 局部变量
    定义在方法内或语句块内。 从属于方法或语句块。
    使用之前,必须要手动初始化!
  2. 成员变量(实例变量 field)
    定义在类里面、方法外面。 从属于对象!
    如果我们没有手动初始化成员变量,系统会自动初始化。初始化的规则如下:
    数字:0,0.0 布尔:false char:\u0000 引用类型:null
  3. 静态变量(类变量)
    定义在类里面、方法外面、使用static修饰。 从属于类!
    如果我们没有手动初始化静态变量,系统会自动初始化。初始化规则同成员变量。

数据类型:

  1. 基本数据类型
    a) 数字
    i. 整数:byte(1个字节) short(2个字节) int(4个字节,整型常量默认该类型) long(8个字节)
    ii. 浮点数:float(4个字节) double(8个字节,浮点常量默认为该类型)
    b) 字符 char(2个字节)
    c) 布尔 boolean(1位)
  2. 引用类型(4个字节)
    a) 数组
    b) 对象
    c) 接口
    表达式:
  3. 类型的自动提升
    如果有long,结果就是long。
    如果有double,结果就是double。
  4. 强制转型

运算符:

  1. 赋值运算符(=)
    if(b=true) if(b) if(c=3) if(3==c)
  2. 算术运算符
  3. 关系运算符(==)
    常见错误写法: 1<a<3 1<a&&a<3
  4. 逻辑运算符
    &&, ||, !
    &,| 3&4
  5. 位运算符
    &,|, <<(左移一位相当于乘以2),>>>(右移一位相当于除以2)
    3*4
  6. 扩展运算符
    +=,-=,*=,/=,%=
  7. 三目运算符
    (布尔表达式)?A:B

控制语句:

  1. 顺序结构
  2. 选择结构
    a) If
    b) If else
    c) If else if … 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方法

//方法


//构造方法

}

构造方法:

  1. 方法名必须跟类名保持一致
  2. 无返回类型
  3. 通过new来调用
  4. 无参构造器问题:
    a) 如果我们没有手动定义构造器,系统会自动为我们添加一个无参的构造器
    b) 如果我们自己定义了构造器,系统就不会为我们添加无参构造器
  5. 构造方法的第一句总是:super,即调用直接父类的构造方法。
    a) 有继承关系的构造方法调用的顺序

方法的重载(Overload):
两同(同一个类、同一个方法名)三不同(参数列表不同:;类型、个数、顺序)
返回值不同,构成重载吗? No
形参名称不同,构成重在吗? No
this:
普通方法中,调用本方法的对象。
构造方法中,正要初始化的对象。
还可以用来,调用其他的构造方法
super:
static:
用它修饰的变量和方法,就变成了静态变量和静态方法。从属于类。通过类名即可调用。实际存储于方法区中。
package:
package必须位于非注释行第一句。
包名:域名到这写
import:
引入外部的类
Import static :导入类的静态属性
final:
修饰变量:常量(命名规范:全部大写,多个单词之间通过下划线隔开)
修饰方法:不能被重写
修饰类: 不能被继承

面向对象的三大特征:
封装
通过private、default 、protected、public关键字实现属性或方法的封装。
“高内聚,低耦合”
继承
通过extends 。两个好处:

  1. 代码重用
  2. 通过继承实现对现实世界更加准确的建模
    类只有单继承,没有像C++那样的多继承

方法重写(Override)的要点:
=:方法名保持一致

=: 子类权限修饰符可以大于等于父类的。
<=, <=: 子类的返回值类型小于等于父类的类型。 子类声明异常类型不能超过父类的类型。

Object类:

  1. 是我们所有类的根基类
  2. toString
  3. equals、hashcode
  4. wait、notify、notifyAll
    多态(polymorphism)
    三个必要条件:继承、方法的重写、父类引用指向子类对象
    动态绑定、静态绑定:

抽象类:

  1. 包含抽象方法 的类,一定是抽象类。
  2. 抽象类不能被new。
  3. 抽象类可以包含:普通方法、成员变量、构造方法。

接口:

  1. interface
  2. 类实现接口:implements 可以实现多个接口
  3. 接口可以多继承
  4. 接口定义的一组规范!实现现实世界中这样的逻辑::如果你是…则必须能…

内存机制:

  1. 存放局部变量
  2. 不可以被多个线程共享
  3. 空间连续,速度快
  4. 存放对象
  5. 可以被多个线程共享
  6. 空间不连续,速度慢。但是灵活
    方法区
  7. 存放类的信息:代码、静态变量、字符串常量等
  8. 可以被多个线程共享
  9. 空间不连续,速度慢。但是灵活

垃圾回收器(GC Garbage Collection):

  1. 程序员不能调用垃圾回收器。但是可以通过System.gc()建议回收。
  2. finallize:一般也不用的调
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值