Java再学习,重要知识点的总结(隐藏技巧、面向对象思想、抽象类、接口、异常等)

Java再学习重要知识点总结


网页右上角应该有目录,不知道你们能不能看到

数字可以用下划线分隔方便我们数清位数

在这里插入图片描述


static 修饰符

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述


final修饰符 常量

  • final 修饰的类不能被继承
    在这里插入图片描述

位运算

在这里插入图片描述


字符串位置导致输出不同

在这里插入图片描述


导包的通配符

* 为通配符

在这里插入图片描述


hasNext()…判断输入内容的相关应用

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述


switch注意case穿透,注意写break;

在这里插入图片描述


while 和 do while的区别

do while 先执行,再判断,所以至少执行一次


for循环和增强for循环

数组推荐使用for循环,下标更快
相关总结,右上角应该有目录可以更快找到


循化的标签

在这里插入图片描述
在这里插入图片描述


值传递和引用传递

  • 值传递,把原变量a的值拷贝一份赋给新变量b。对新变量b的值进行修改,不改变原变量a的值。
  • 引用传递,在使用方法对对象的属性值进行更改时可以体验到,如下图
    在这里插入图片描述
    在这里插入图片描述

方法重载

在这里插入图片描述


命令行传参

命令行执行找不到或无法加载主类,回退目录到包的上一级,然后用全包名执行
在这里插入图片描述


方法的可变参数

在这里插入图片描述


内存分析

在这里插入图片描述
在这里插入图片描述


数组初始化方式

在这里插入图片描述

在这里插入图片描述


toString方法输出

在这里插入图片描述


Arrays类常用方法

在这里插入图片描述


稀疏数组(压缩的原理)

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述


OOP面向对象编程

OO表示面向对象的意思
在这里插入图片描述


构造器也构造方法

在这里插入图片描述


封装

高内聚,低耦合
在这里插入图片描述


继承

  • final 修饰的类不能被继承
  • 所有类都默认继承Object类
  • 私有的无法被继承
  • 子类默认先使用父类构造方法,super()默认写在子类构造方法里的第一行
    在这里插入图片描述

super、this

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

方法的重写

  • 静态方法和非静态方法有区别

  • 静态方法,方法的调用只跟左边的有关
    在这里插入图片描述

  • 非静态方法,重写。子类重写父类方法,就执行子类的方法
    在这里插入图片描述
    在这里插入图片描述


多态方法间的关系

  • 父类引用指向子类对象时,子类和父类都有的方法(子类重写了父类的方法),执行子类的,子类没有重写,就执行父类的
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

instanceof

  • 有继承关系才能比较,否则直接报错

在这里插入图片描述


代码块

  • 匿名代码块,在构造器(方法)之前
  • 静态代码块,类加载时直接执行,且只执行一次
    在这里插入图片描述
    在这里插入图片描述
  • 静态代码块之只执行一次
    在这里插入图片描述

静态导入包

  • 导包前,类名点方法名调用
    在这里插入图片描述

  • 导包后,直接使用
    在这里插入图片描述


抽象类、抽象方法

  • 抽象类里的抽象方法只需要写方法名即可,不需要写的方法体(因为抽象方法必须要被子类重写)
  • 抽象类中可以定义普通方法,定义普通方法要有方法体,子类中可以重写也可以不重写。如果不重写,调用的则是父类的方法。
  • 抽象类不能new对象,只能被继承
  • 抽象类的抽象方法必须被子类重写
  • 如果一个类里有抽象方法,那么这个类一定要加abstract修饰(即这个类一定是抽象类)
    在这里插入图片描述

接口

  • 接口中只能声明方法
  • 实现接口的类必须重写接口中的方法
  • 接口可以多继承
  • 接口中定义的属性值,默认加上public static final,即为常量(一般不这么干)
  • 接口中定义的方法默认加上public abstract
  • 接口不能被实例化,不是类,没有构造方法
    在这里插入图片描述
    在这里插入图片描述

内部类

  • 非静态内部类可以获得外部类的私有属性,并使用外部类的方法
  • static内部类,无法访问外部类的非static属性
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
  • 写在方法里的类是局部内部类
    在这里插入图片描述
  • 匿名内部类
  • new 接口,紧接着重写方法,返回的是实现了接口的class
    在这里插入图片描述

异常

  • 五个关键字
    • try
    • catch
    • finally 一定会执行
    • throw
    • throws

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

捕获异常try catch finally

  • try 里的语句一旦出现异常,立刻跳转到catch语句。
  • catch括号里填写需要捕获到的异常的类型
  • 异常的最高类型是Throwable,包括Error和Exception
  • finally不论有没有try到exception都会执行,通常用来处理善后工作,如关闭流等
  • finally可以不写
    在这里插入图片描述
    在这里插入图片描述
  • 捕获多个异常时使用多个catch语句,但是括号里的异常的范围要从小到大写。(只会执行一个catch语句,一旦满足括号里的异常,就不执行其他的catch语句了)
    在这里插入图片描述

catch 里的异常打印

  • e.printStackTrace() 打印出来你抓到的什么异常(和你不try系统自动蹦出来的差不多),通常在前面加一行自己的输出信息。
if (b==0){ //主动抛出异常
	throw new ArithmeticException();
}

在这里插入图片描述


【参考】
B站狂神

发布了318 篇原创文章 · 获赞 44 · 访问量 2万+

猜你喜欢

转载自blog.csdn.net/qq_43594119/article/details/105620402