JAVASE2020.10学习总结
2021-03-21 09:24
标签:finally 变量 读取 编写 abs 上层 文件 imp ide scanner.hasNext():读取之前可以用来判断用户还有没有字符串输入。 scanner.next():使用next方式接收 scanner.close():用完scanner后最好关掉(好习惯),[凡是属于io流(输入输出流)的类如果不关闭会一直占用资源,要养成好习惯用完就关掉。] scanner.hasNextDouble():可用来判断是否输入的是整数和小数。 while(scanner.hasNextDouble){ } for(int x:数组名):可达到遍历数组的目的。 Idea:alt+insert:自动生成get+set封装。 ctrl+H:层次树! 属性私有:get/set 继承:本质是对某一批类的抽象,从而实现对现实世界更好的建模。 所有的类都默认继承object类! Java中类只有单继承,没有多继承!只有一个父亲,可以有多个儿子。但可间接继承多个父类! 1、super调用父类的构造方法,必须在构造方法的第一个 2、super必须只能出现在子类的方法和构造方法中! 3、super和this不能同时调用构造方法! 4、私有的东西无法被继承! 代表的对象不同: this:本身调用者这个对象 super :代表父类对象的应用 this:,没有继承也可以使用 super:只能在继承条件才可以使用 构造方法:this():本类的构造 super():父类的构造! x instanceof y:x和y有父子关系则编译通过;或者x指向的类型和y有关系。 强制转换子类(向下转型):把父类转换为子类,如person是父类,student是子类—> person obj=new student(); student obj1=(student) obj; 同一个类中,非静态方法可以调用静态方法里面的所有东西;静态方法可以调用静态方法里面的东西。 执行顺序:静态代码块,匿名代码块,构造方法。 静待代码块只执行一次 匿名代码块用途:赋初始值,随着对象的创建而执行,在方法之前,静态代码块之后。 import static java.....:静态导入包:导入方法后,可直接使用包中方法。 抽象类中可以写普通方法。 抽象方法必须在抽象类中。 普通类:只有具体实现。 抽象类:具体实现和规范(抽象方法)都有! 接口:只有规范!自己无法书写方法~专业的约束!约束和实现分离。 面向接口编程。 接口就是规范,定义的是一组规则。接口的本质是契约,就像人间法则,制定好后大家都遵守。 关键字:interface 接口中的所有定义其实都是抽象的public abstract。 接口都需要实现类->implements关键词实现。如public class UserService implements user{},即UserService来实现user接口。 implement可以继承多个接口,不同接口之间用逗号隔开。 实现了接口中的类就必须实现接口中的方法。 接口中定义的属性都是常量(常量要大写)。 1、约束 2、定义一些方法,让不同的人实现 3、方法都是public abstract 4、定义的属性都是public static final 5、接口不能被实例化~,接口中没有构造方法~ 6、implements可以实现多个接口 7、接口的实现类必须重写接口中的方法 在一个类里面再写一个类就是他的内部类,而相对的,这个类是他内部类的外部类。 通过外部类来实现内部类。如: Outer outer=new Outer(); Outer.Inner inner=Outer.new Inner(); 内部类可以获得外部类的私有属性和方法 一个文件中只能有一个public class,但可以有多个class类。 就是方法中的类。 没有名字初始化类,不用将实例保存到变量中! 异常处理框架思想,即所有的异常都可以用一个类来表示。即java.lang.Thowable作为所有异常的超类。超类之下分为Error和Exception两大子类,这两大子类下又有众多子类。
Error类对象由Java虚拟机生成并抛出。大多数错误与代码编写者所执行的操作无关。 这些异常一般是由程序逻辑错误引起的,程序应该从逻辑角度尽可能避免这类异常的发生。 Error通常是灾难性的致命的错误,是程序无法控制和处理的,当出现这些异常时,Java虚拟机(JVM)一般会选择终止线程;Exception通常情况下是可以被程序处理的,并且在程序中应该尽可能的去处理这些异常。 抛出异常、捕获异常 try、catch、finally、throw、throws。 监控区域 捕获异常。catch()中的参数就是你想要捕捉的异常类型。最高是Throwable。可以同时使用多个catch来捕获多个异常,但类似于if的多选择结构,只会出一个结果。 最大的异常要写在最后面,比如说Throwable要在最下面的catch中。 处理善后工作。可以不要finally,但像什么IO流,资源等需要关闭的工作,就需要使用finally进行善后工作进行关闭。 throw是语句抛出一个异常。 语法:throw (异常对象); throw e; 假设这个方法中处理不了这个异常,方法上抛出异常。 throws是方法可能抛出异常的声明。(用在声明方法时,表示该方法可能要抛出异常) 语法:(修饰符)(方法名)([参数列表])[throws(异常类)]{......} public void doA(int a) throws Exception1,Exception3{......} throw语句用在方法体内,表示抛出异常,由方法体内的语句处理。 throws语句用在方法声明后面,表示再抛出异常,由该方法的调用者来处理。 throws主要是声明这个方法会抛出这种类型的异常,使它的调用者知道要捕获这个异常。 throw是具体向外抛异常的动作,所以它是抛出一个异常实例。 throws说明你有那个可能,倾向。 throw的话,那就是你把那个倾向变成真实的了。 同时: 1、throws出现在方法函数头;而throw出现在函数体。 2、throws表示出现异常的一种可能性,并不一定会发生这些异常;throw则是抛出了异常,执行throw则一定抛出了某种异常。 3、两者都是消极处理异常的方式(这里的消极并不是说这种方式不好),只是抛出或者可能抛出异常,但是不会由函数去处理异常,真正的处理异常由函数的上层调用处理。 ctrl+alt+t。 用户自定义异常类,只需继承Exception类即可。 JAVASE2020.10学习总结 标签:finally 变量 读取 编写 abs 上层 文件 imp ide 原文地址:https://www.cnblogs.com/hupan56/p/13905619.htmljavaSE2020.10学习总结
scanner的用途:
继承:
super注意点:
vs this:
前提:
instance of用途
static关键字详解:
抽象:
接口:
接口与普通类和抽象类的区别
地位
接口定义:
注意:
作用:
内部类:
定义:
定义方法:
注意:
局部内部类:
匿名内部类:
异常:
处理思想:
Error:
Exception:
Error和Expection两者区别:
异常处理机制:
异常处理五个关键字:
try:
catch:
finally:
throw:
throws:
throw和throws的区别:
Idea快捷键生成try/catch/finally:
自定义异常: