Java的基础知识点(简单记录)

//ava5新特新Java.util.Scanner 获取用户输入的工具类
//next()不能得到带有空格的字符串 nextLine()可以获取空白
//面向对象
//封装 禁止直接访问一个对象中数据的实际表示,应通过操作接口来访问
//提高安全性 统一接口 可维护性增强 隐藏代码细节
//高类聚,低耦合 高类聚:类的内部数据细节有自己完成,不允许外部泄露
//低耦合:仅暴露少量方法给外部使用
//继承
//继承的本质是对某一批类的抽象 extends 扩展 子类是父类的扩展 单继承:一个子类只能继承一个父类
//类与类之间的关系:继承、依赖、聚合等
//子类无法继承父类的私有方法 被final修饰的类无法被继承
//super() 调用父类的构造方法,必须调用第一个构造方法 super必须只能出现在子类的方法或构造方法中
//super()和this()不能同时调用构造方法,因为this也必须写第一行
//区别 super代表父类的引用 只能在继承条件下使用 this调用自身对象 没有继承也可以使用

//方法的重写
//子类方法必须与父类的方法一致 重写是方法的重写 与属性无关 重写方法只与非静态方法有关 静态方法不能被重写
//静态方法是类的方法,非静态方法是对象的方法
//重写需要有继承的关系
//重写注意点: 方法名、参数列表相同 修饰范围可以扩大,不能缩小(public>protected>Default>private) 抛出异常,范围可以缩小,不能扩大(ClassNotFoundException-->Exception) 被static final private修饰的方法不能被重写
//重写:父类与子类之间的多态性 子类对父类函数的重新实现

//方法重载
//重载实现与一个类中 重写实现与子类中
//重载 是一个类中多态性的一种表现 指同一个类中不同的函数使用相同的函数名 但是函数的参数个数和属性不同 可以有不同的返回类型 不同的访问修饰符 抛出不同的异常 调用时根据参数的不同来区别不同的函数

//多态
//同一种方法可以根据发送对象的不同而采用不同的方式
//多态存在的条件:继承关系 子类重写父类的方法 父类引用指向子类的对象 father s1 = new Son();
//多态是方法的多态 不是属性的多态
//父类和子类有联系类型转换异常:ClassCastException
//不能重写,不能实现多态的情况:static方法属于类,不属于实例 fianal常量 private方法

//instanceof引用类型比较 判断一个对象是什么类型

//类型转换
//父类引用指向子类的对象 把子类转换为父类,向上转换,会丢失自己原来的一些方法 父类转换为子类 向下 强制转换 调用子类的方法 方便方法的调用 减少重复的代码

//抽象
//抽象类 接口
//static 静态变量可以直接用类名访问 类变量 静态变量对于类,所有对象所共享

//抽象类(abstract)
//abstract修饰的方法就是抽象方法 修饰的类就是抽象类 抽象类里可以没有抽象方法 但是有抽象方法的类一定要声明为抽象类
//抽象类不能使用new来创建对象 它是用于子类继承的 抽象方法只有方法的声明 没有实现 是让子类来实现的
//子类继承抽象类,必须实现类中的所有方法,否则该子类也声明为抽象类

//接口(interface)
//只有规范 没有方法实现 接口的本质是约束 面向接口编程

//接口没有构造方法,不能被实例化 实现类必须要重写接口中的方法 实现类可以实现多个接口

//静态内部类 static修饰 不能访问外部类的私有属性

//异常
//检查型异常 用户错误或问题引起的异常最具代表性
//运行时异常 能被开发人员避免的异常 运行时异常可以在编译时忽略
//ERROR 错误不是异常 时脱离程序员控制的问题 例如 栈溢出
//java把异常当做对象来处理 定义了一个基类 java.lang.Throwable作为所有异常的超类
//在java api中定义了许多异常类 分为error和exception两大类

//Error类对象由java虚拟机生成并抛出 java虚拟机运行错误 当jvm不再有继续执行操作所需的内存资源时,会出现OutOfMemoryError 线程终止
//运行时异常 RuntimeException 一般由程序逻辑错误引起的 包含
//数组下标越界 ArrayIndexOutOfBoundsException
//空指针异常 NullPointerException
//算术异常 ArithmeticException
//丢失资源 MissingResourceException
//找不到类 ClssNotFoundException等
//用户可以自定义异常 只需要继承Exception
//创建过程 1、创建自定义异常类 2、在方法中通过throw关键字抛出异常对象 3、如果在当前抛出异常的方法中抛出异常,可以使用try-catch语句捕获处理,否则在方法的声明处通过throws关键字指明要抛出的异常 4、在出现异常方法的调用者中捕获并处理异常
//在多重catch块后面可以加一个catch(Exception)来处理可能会被遗漏的异常,对于不确定的代码,也可以加上try-catch处理潜在的异常,切忌只是简单的调用printStackTrace()去打印输出


//Error通常是灾难性的致命的错误 是程序无法控制和处理的 出现这类异常 jvm会选择终止线程
posted @ 2022-04-28 17:25  KKEdsion  阅读(29)  评论(1)    收藏  举报