Java回炉学习(一)

Java回炉学习(一)

参考至:韩顺平_循序渐进学java

1. JDK、JRE基本介绍

  1. JDK全称(Java Development Kit,Java开发工具包) JDK=JRE+Java开发工具(java,javac,javadoc,javap) ,安装了JDK,就等于有了JRE

  2. JRE(Java Runtime Environment Java 运行环境) JRE = JVM + Java 的核心类库[类]

  3. JDK、JRE 和 JVM 的包含关系

    (1) JDK = JRE + 开发工具集(例如 Javac,java 编译工具等)

    (2) JRE = JVM + Java SE 标准类库(java 核心类库)

    (3) 如果只想运行开发好的 .class 文件 只需要 JRE

2. 对象在内存中存在形式。

  • 栈:一般存放基本数据类型(局部变量)
  • 堆: 存放对象(Cat cat , 数组等)
  • 方法区:常量池(常量,比如字符串), 类加载信息

在这里插入图片描述

  1. 方法重载:

  2. java 中允许同一个类中,多个同名方法的存在,但要求 形参列表不一致! 比如:System.out.println(); out 是 PrintStream 类型

  3. java 允许将同一个类中多个同名同功能但参数个数不同的方法,封装成一个方法。举例:public int sum(int... nums){}

  4. 属性和局部变量可以重名,访问时遵守就近原则。

  5. 对象创建的流程分析:

在这里插入图片描述

3. IDEA中快捷操作

  1. 删除当前行, 默认是 ctrl + Y 自己配置 ctrl + d

  2. 复制当前行, 自己配置 ctrl + alt + 向下光标

  3. 补全代码 alt + /

  4. 添加注释和取消注释 ctrl + / 【第一次是添加注释,第二次是取消注释】

  5. 导入该行需要的类 先配置 auto import , 然后使用 alt+enter 即可

  6. 快速格式化代码 ctrl + alt + L

  7. 快速运行程序 自己定义 alt + R

  8. 生成构造器等 alt + insert [提高开发效率]

  9. 查看一个类的层级关系 ctrl + H [学习继承后,非常有用]

  10. 将光标放在一个方法上,输入 ctrl + B , 可以定位到方法 [学继承后,非常有用]

  11. 自动的分配变量名 , 通过 在后面假 .var [老师最喜欢的]

  12. 还有很多其它的快捷键…

4. 常用的包

  1. java.lang.* //lang 包是基本包,默认引入,不需要再引入.

  2. java.util.* //util 包,系统提供的工具包, 工具类,使用 Scanner

  3. java.net.* //网络包,网络开发

  4. java.awt.* //是做 java

5. 访问修饰符

​ java 提供四种访问控制修饰符号,用于控制方法和属性(成员变量)的访问权限(范围):

  1. 公开级别:用 public 修饰,对外公开

  2. 受保护级别:用 protected 修饰,对子类和同一个包中的类公开

  3. 默认级别:没有修饰符号,向同一个包的类公开.

  4. 私有级别:用 private 修饰,只有类本身可以访问,不对外公开

在这里插入图片描述

6. 驼峰命名法

  1. 包名:多单词组成时所有字母都小写:aaa.bbb.ccc //比如 com.hsp.crm
  2. 类名、接口名:多单词组成时,所有单词的首字母大写:XxxYyyZzz [大驼峰] 比如: TankShotGame
  3. 变量名、方法名:多单词组成时,第一个单词首字母小写,第二个单词开始每个单词首字母大写:xxxYyyZzz [小 驼峰, 简称 驼峰法] 比如: tankShotGame
  4. 常量名:所有字母都大写。多单词时每个单词用下划线连接:XXX_YYY_ZZZ 比如 :定义一个所得税率 TAX_RATE
  5. 后面我们学习到 类,包,接口,等时,我们的命名规范要这样遵守,更加详细的看文档

7.继承的深入讨论/细节问题

  1. 子类继承了所有的属性和方法,非私有的属性和方法可以在子类直接访问, 但是私有属性和方法不能在子类直接访问, 要通过父类提供公共的方法去访问
  2. 子类必须调用父类的构造器, 完成父类的初始化
  3. 当创建子类对象时,不管使用子类的哪个构造器,默认情况下总会去调用父类的无参构造器,如果父类没有提供无参构造器,则必须在子类的构造器中用 super 去指定使用父类的哪个构造器完成对父类的初始化工作,否则,编译不会通过
  4. 如果希望指定去调用父类的某个构造器,则显式的调用一下 : super(参数列表)
  5. super 在使用时,必须放在构造器第一行**(super 只能在构造器中使用)**
  6. super() 和 this() 都只能放在构造器第一行,因此这两个方法不能共存在一个构造器
  7. java 所有类都是Object 类的子类, Object 是所有类的基类.
  8. 父类构造器的调用不限于直接父类!将一直往上追溯直到 Object 类(顶级父类)
  9. 子类最多只能继承一个父类(指直接继承),即 java 中是单继承机制。
  10. 不能滥用继承,子类和父类之间必须满足 is-a 的逻辑关系.
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

程哥哥吖

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值