shk
flukyy
这个作者很懒,什么都没留下…
展开
-
异常处理(宋红康JAVASE)
一、异常的体系结构异常的体系结构java.lang.Throwable |-----java.lang.Error:一般不编写针对性的代码进行处理。 |-----java.lang.Exception:可以进行异常的处理 |------编译时异常(checked) |-----IOException |-----FileNotFoundException |-----ClassNotFoundException |----原创 2021-02-02 22:17:35 · 101 阅读 · 0 评论 -
(非重点)匿名类的例子 (宋红康JAVASE)
/* * 抽象类的匿名子类 * */public class PersonTest { public static void main(String[] args) { method(new Student());//匿名对象 Worker worker = new Worker(); method1(worker);//非匿名的类非匿名的对象 method1(new Worker());//非匿名的类匿名的对象 System.out.printl原创 2021-02-01 19:52:35 · 139 阅读 · 0 评论 -
(非重点)面向对象下 内部类 (宋红康JAVASE)
内部类:类的第五个成员1.定义:Java中允许将一个类A声明在另一个类B中,则类A就是内部类,类B称为外部类.2.内部类的分类:成员内部类(静态、非静态 ) vs 局部内部类(方法内、代码块内、构造器内)3.成员内部类的理解:一方面,作为外部类的成员:调用外部类的结构可以被static修饰可以被4种不同的权限修饰另一方面,作为一个类:类内可以定义属性、方法、构造器等可以被final修饰,表示此类不能被继承。言外之意,不使用final,就可以被继承可以被abstract修饰4.原创 2021-02-01 19:45:11 · 83 阅读 · 0 评论 -
面向对象下 接口 (宋红康JAVASE)
接口的使用1.接口使用interface来定义2.Java中,接口和类是并列的两个结构3.如何定义接口:定义接口中的成员*3.1 JDK7及以前:只能定义全局常量和抽象方法全局常量:public static final的.但是书写时,可以省略不写抽象方法:public abstract的*3.2 JDK8:除了定义全局常量和抽象方法之外,还可以定义静态方法、默认方法(略)4接口中不能定义构造器的!意味着接口不可以实例化5Java开发中,接口通过让类去实现(implements.原创 2021-02-01 18:57:40 · 112 阅读 · 0 评论 -
面向对象下 abstract关键字(宋红康JAVASE)
abstract关键字的使用1 abstract:抽象的2 abstract可以用来修饰的结构:类、方法3 abstract修饰类:抽象类此类不能实例化抽象类中一定有构造器,便于子类实例化时调用(涉及:子类对象实例化的全过程)开发中,都会提供抽象类的子类,让子类对象实例化,完成相关的操作4 abstract修饰方法:抽象方法抽象方法只有方法的声明,没有方法体包含抽象方法的类,一定是一个抽象类。反之,抽象类中可以没有抽象方法的。若子类重写了父类中的所有的抽象方法后原创 2021-02-01 17:12:02 · 584 阅读 · 0 评论 -
final关键字(宋红康JAVASE)
final可以用来修饰的结构:类、方法、变量final 用来修饰一个类:此类不能被其他类所继承。比如:String类、System类、StringBuffer类final 用来修饰方法:表明此方法不可以被重写比如:Object类中getClass();final 用来修饰变量:此时的"变量"就称为是一个常量4.1 final修饰属性:可以考虑赋值的位置有:显式初始化、代码块中初始化、构造器中初始化4.2 final修饰局部变量:尤其是使用final修...原创 2021-01-31 23:07:43 · 71 阅读 · 0 评论 -
属性赋值执行顺序&(非重点)代码块(宋红康JAVASE)
类的成员之四:代码块(或初始化块)代码块的作用:用来初始化类、对象代码块如果有修饰的话,只能使用static.分类:静态代码块 vs 非静态代码块静态代码块内部可以有输出语句随着类的加载而执行,而且只执行一次作用:初始化类的信息如果一个类中定义了多个静态代码块,则按照声明的先后顺序执行静态代码块的执行要优先于非静态代码块的执行静态代码块内只能调用静态的属性、静态的方法,不能调用非静态的结构非静态代码块内部可以有输出语句随..原创 2021-01-31 21:29:06 · 125 阅读 · 0 评论 -
static关键字(宋红康JAVASE)
static关键字的使用1.static:静态的2.static可以用来修饰:属性、方法、代码块、内部类3.使用static修饰属性:静态变量(或类变量)3.1 属性,按是否使用static修饰,又分为:静态属性 vs 非静态属性(实例变量)实例变量:我们创建了类的多个对象,每个对象都独立的拥有一套类中的非静态属性。当修改其中一个对象中的非静态属性时,不会导致其他对象中同样的属性值的修改。静态变量:我们创建了类的多个对象,多个对象共享同一个静态变量。当通过某一个对象修改静态变..原创 2021-01-31 17:37:36 · 72 阅读 · 0 评论 -
多态练习题,向下转型,instanceof关键字(宋红康JAVASE)
一、多态练习题class Base { int count = 10; public void display() { System.out.println(this.count); }}class Sub extends Base { int count = 20; public void display() { System.out.println(this.count); }}public class FieldMethodTest { public stati原创 2021-01-30 19:46:57 · 251 阅读 · 0 评论 -
面向对象中--继承性--override&super(宋红康JAVASE)
一、方法重写1.重写:子类继承父类以后,可以对父类中同名同参数的方法,进行覆盖操作*(属性没有重写一说)*2.应用:重写以后,当创建子类对象以后,通过子类对象调用子父类中的同名同参数的方法时,实际执行的是子类重写父类的方法。3 重写的规定:方法的声明: 权限修饰符 返回值类型 方法名(形参列表) throws 异常的类型{ * //方法体 * }约定俗称:子类中的叫重写的方法,父类中的叫被重写的方法① 子类重写的方法的方法名和形参列表与父类被重写的方法的方法名..原创 2021-01-25 20:31:29 · 182 阅读 · 0 评论 -
package、import关键字的使用(宋红康JAVASE)(非重点,会用即可)
一、package关键字的使用1.为了更好的实现项目中类的管理,提供包的概念2.使用package声明类或接口所属的包,声明在源文件的首行3.包,属于标识符,遵循标识符的命名规则、规范(xxxyyyzzz)、“见名知意”4.每"."一次,就代表一层文件目录。补充:同一个包下,不能命名同名的接口、类。不同的包下,可以命名同名的接口、类。二、import关键字的使用import:导入在源文件中显式的使用import结构导入指定包下的类、接口声明在包的声明和类的声明之间.原创 2021-01-15 20:05:57 · 84 阅读 · 0 评论 -
this关键字(宋红康JAVASE)
this关键字的使用:1.this可以用来修饰、调用:属性、方法、构造器2.this修饰属性和方法:this理解为:当前对象 或 当前正在创建的对象2.1 在类的方法中,我们可以使用"this.属性"或"this.方法"的方式,调用当前对象属性或方法。但是,通常情况下,我们都选择省略"this."。特殊情况下,如果方法的形参和类的属性同名时,我们必须显式的使用"this.变量"的方式,表明此变量是属性,而非形参。2.2 在类的构造器中,我们可以使用"this.属性"或"this...原创 2021-01-14 20:34:16 · 74 阅读 · 0 评论 -
属性赋值的过程(宋红康JAVASE)
总结:属性赋值的先后顺序① 默认初始化② 显式初始化③ 构造器中初始化④ 通过"对象.方法" 或 "对象.属性"的方式,赋值以上操作的先后顺序:① - ② - ③ - ④示例代码:原创 2021-01-14 19:34:39 · 138 阅读 · 1 评论 -
构造器
构造器是来创建所属类的对象的,可以被理解为一个特殊的方法。格式: new 类名();原创 2021-01-14 19:25:16 · 71 阅读 · 0 评论 -
权限修饰符(宋红康JAVASE)
体现封装性用来修饰类及类的内部结构:属性、方法、构造器、内部类- 对于类:只能用 缺省、public- 对于类的内部结构:四种修饰符都能用原创 2021-01-14 14:28:11 · 53 阅读 · 0 评论 -
*值传递(宋红康JAVASE)
一、局部变量中关于变量的赋值:如果变量是基本数据类型,此时赋值的是变量所保存的数据值。如果变量是引用数据类型,此时赋值的是变量所保存的数据的地址值。二、方法中方法的形参的传递机制:值传递1.形参:方法定义时,声明的小括号内的参数实参:方法调用时,实际传递给形参的数据2.值传递机制:如果参数是基本数据类型,此时实参赋给形参的是实参真实存储的数据值。如果参数是引用数据类型,此时实参赋给形参的是实参存储数据的地址值。...原创 2021-01-12 19:52:40 · 74 阅读 · 0 评论 -
可变个数的形式参数(以String为例)与数组类型的形式参数的区别(宋红康JAVASE)
可变个数形参:数组类型的形参:可变个数形参的方法1.jdk 5.0新增的内容2.具体使用:2.1 可变个数形参的格式:数据类型 … 变量名2.2 当调用可变个数形参的方法时,传入的参数个数可以是:0个,1个,2个,。。。2.3 可变个数形参的方法与本类中方法名相同,形参不同的方法之间构成重载2.4 可变个数形参的方法与本类中方法名相同,形参类型也相同的数组之间不构成重载。换句话说,二者不能共存。2.5 可变个数形参在方法的形参中,必须声明在末尾2.6原创 2021-01-12 17:16:10 · 241 阅读 · 0 评论 -
方法重载(宋红康JAVASE)
方法重载overload两同一不同- 同一个类、相同方法名- 参数列表不同:参数个数不同,参数类型不同判断是否为重载方法:跟方法的权限修饰符、返回值类型、形参变量名、方法体都没有关系!在通过对象调用方法时,如何确定某一个指定的方法:方法名 —> 参数列表...原创 2021-01-11 21:35:21 · 60 阅读 · 0 评论 -
匿名对象和内存解析(宋红康JavaSE)
一、匿名对象:我们创建的对象,没显式的赋给一个变量名。即为匿名对象特点:匿名对象只能调用一次。举例: new Phone().sendEmail(); new Phone().playGame(); new Phone().price = 1999; new Phone().showPrice();//0.0应用场景:PhoneMall mall = new PhoneMall();//匿名对象的使用mall.show(new Phone());其中,class PhoneMa原创 2021-01-11 21:20:47 · 181 阅读 · 1 评论 -
属性和局部变量的异同比较(宋红康JavaSE笔记)
一、相同点定义变量的格式: 数据类型 变量名= 变量值先声明后使用变量都有其对应的作用域二、不同点局部变量与属性声明位置的不同局部变量: 形参上;方法内部;(代码块内;构造器形参;构造方法内部)属性:定义在类的一对大括号内可否用权限修饰符(体现封装性)修饰:属性:可(private;protected;缺省;public)局部变量:不可初始化值的情况: 属性:类的属性,根据其类型,都默认初始化值。 整型(byte、short、int、long:0)原创 2021-01-10 23:09:57 · 93 阅读 · 0 评论 -
0420_宋红康笔记(day11-13)(多态、重写重载、super、子类对象实例化、转型、装箱、equals)
多态多态的使用:虚拟方法调用有了对象的多态性以后,我们在编译期,只能调用父类中声明的方法,但在运行期,我们实际执行的是子类重写父类的方法。总结:编译,看左边;运行,看右边。多态性的使用前提: ① 类的继承关系 ② 方法的重写对象的多态性,只适用于方法,不适用于属性(编译和运行都看左边)...原创 2020-04-21 20:41:09 · 152 阅读 · 0 评论 -
0416_宋红康笔记(类内部的组成成分、形参传递、递归)
递归退出条件是最小值等于多少的时候分析代码块内存解析的时候要注意的两点:内存结构:栈(局部变量)、堆(new出来的结构:对象(非static成员变量)、数组)变量:成员变量 vs 局部变量(方法内、方法形参、构造器内、构造器形参、代码块内)成员变量可以不用初始化,其具有默认值;但是局部变量一定需要初始化或者赋值后才能使用,否则编译报错。...原创 2020-04-16 22:50:30 · 187 阅读 · 0 评论 -
0413宋红康笔记(数组)
随机获取一个[a,b]之间的整数Math.random(): [0.0,1)Math.random()(b-a): [0.0,(b-a))(int)(Math.random()(b-a)): [0,(b-a-1)](int)(Math.random()(b-a+1))+a: [a,b]isFlag的应用(防止不同结果都输出最后一句话)public class ArrayTest2 ...原创 2020-04-13 21:10:06 · 169 阅读 · 0 评论