shk
flukyy
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
异常处理(宋红康JAVASE)
一、异常的体系结构 异常的体系结构 java.lang.Throwable |-----java.lang.Error:一般不编写针对性的代码进行处理。 |-----java.lang.Exception:可以进行异常的处理 |------编译时异常(checked) |-----IOException |-----FileNotFoundException |-----ClassNotFoundException |----原创 2021-02-02 22:17:35 · 133 阅读 · 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 · 173 阅读 · 0 评论 -
(非重点)面向对象下 内部类 (宋红康JAVASE)
内部类:类的第五个成员 1.定义:Java中允许将一个类A声明在另一个类B中,则类A就是内部类,类B称为外部类. 2.内部类的分类: 成员内部类(静态、非静态 ) vs 局部内部类(方法内、代码块内、构造器内) 3.成员内部类的理解: 一方面,作为外部类的成员: 调用外部类的结构 可以被static修饰 可以被4种不同的权限修饰 另一方面,作为一个类: 类内可以定义属性、方法、构造器等 可以被final修饰,表示此类不能被继承。言外之意,不使用final,就可以被继承 可以被abstract修饰 4.原创 2021-02-01 19:45:11 · 114 阅读 · 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 · 148 阅读 · 0 评论 -
面向对象下 abstract关键字(宋红康JAVASE)
abstract关键字的使用 1 abstract:抽象的 2 abstract可以用来修饰的结构:类、方法 3 abstract修饰类:抽象类 此类不能实例化 抽象类中一定有构造器,便于子类实例化时调用(涉及:子类对象实例化的全过程) 开发中,都会提供抽象类的子类,让子类对象实例化,完成相关的操作 4 abstract修饰方法:抽象方法 抽象方法只有方法的声明,没有方法体 包含抽象方法的类,一定是一个抽象类。反之,抽象类中可以没有抽象方法的。 若子类重写了父类中的所有的抽象方法后原创 2021-02-01 17:12:02 · 639 阅读 · 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 · 103 阅读 · 0 评论 -
属性赋值执行顺序&(非重点)代码块(宋红康JAVASE)
类的成员之四:代码块(或初始化块) 代码块的作用:用来初始化类、对象 代码块如果有修饰的话,只能使用static. 分类:静态代码块 vs 非静态代码块 静态代码块 内部可以有输出语句 随着类的加载而执行,而且只执行一次 作用:初始化类的信息 如果一个类中定义了多个静态代码块,则按照声明的先后顺序执行 静态代码块的执行要优先于非静态代码块的执行 静态代码块内只能调用静态的属性、静态的方法,不能调用非静态的结构 非静态代码块 内部可以有输出语句 随..原创 2021-01-31 21:29:06 · 166 阅读 · 0 评论 -
static关键字(宋红康JAVASE)
static关键字的使用 1.static:静态的 2.static可以用来修饰:属性、方法、代码块、内部类 3.使用static修饰属性:静态变量(或类变量) 3.1 属性,按是否使用static修饰,又分为:静态属性 vs 非静态属性(实例变量) 实例变量:我们创建了类的多个对象,每个对象都独立的拥有一套类中的非静态属性。当修改其中一个对象中的 非静态属性时,不会导致其他对象中同样的属性值的修改。 静态变量:我们创建了类的多个对象,多个对象共享同一个静态变量。当通过某一个对象修改静态变..原创 2021-01-31 17:37:36 · 100 阅读 · 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 · 312 阅读 · 0 评论 -
面向对象中--继承性--override&super(宋红康JAVASE)
一、方法重写 1.重写:子类继承父类以后,可以对父类中同名同参数的方法,进行覆盖操作*(属性没有重写一说)* 2.应用:重写以后,当创建子类对象以后,通过子类对象调用子父类中的同名同参数的方法时,实际执行的是子类重写父类的方法。 3 重写的规定: 方法的声明: 权限修饰符 返回值类型 方法名(形参列表) throws 异常的类型{ * //方法体 * } 约定俗称:子类中的叫重写的方法,父类中的叫被重写的方法 ① 子类重写的方法的方法名和形参列表与父类被重写的方法的方法名..原创 2021-01-25 20:31:29 · 230 阅读 · 0 评论 -
package、import关键字的使用(宋红康JAVASE)(非重点,会用即可)
一、package关键字的使用 1.为了更好的实现项目中类的管理,提供包的概念 2.使用package声明类或接口所属的包,声明在源文件的首行 3.包,属于标识符,遵循标识符的命名规则、规范(xxxyyyzzz)、“见名知意” 4.每"."一次,就代表一层文件目录。 补充:同一个包下,不能命名同名的接口、类。 不同的包下,可以命名同名的接口、类。 二、import关键字的使用 import:导入 在源文件中显式的使用import结构导入指定包下的类、接口 声明在包的声明和类的声明之间.原创 2021-01-15 20:05:57 · 123 阅读 · 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 · 106 阅读 · 0 评论 -
属性赋值的过程(宋红康JAVASE)
总结:属性赋值的先后顺序 ① 默认初始化 ② 显式初始化 ③ 构造器中初始化 ④ 通过"对象.方法" 或 "对象.属性"的方式,赋值 以上操作的先后顺序:① - ② - ③ - ④ 示例代码:原创 2021-01-14 19:34:39 · 175 阅读 · 1 评论 -
构造器
构造器是来创建所属类的对象的,可以被理解为一个特殊的方法。格式: new 类名();原创 2021-01-14 19:25:16 · 116 阅读 · 0 评论 -
权限修饰符(宋红康JAVASE)
体现封装性 用来修饰类及类的内部结构:属性、方法、构造器、内部类 - 对于类:只能用 缺省、public - 对于类的内部结构:四种修饰符都能用原创 2021-01-14 14:28:11 · 83 阅读 · 0 评论 -
*值传递(宋红康JAVASE)
一、局部变量中 关于变量的赋值: 如果变量是基本数据类型,此时赋值的是变量所保存的数据值。 如果变量是引用数据类型,此时赋值的是变量所保存的数据的地址值。 二、方法中 方法的形参的传递机制:值传递 1.形参:方法定义时,声明的小括号内的参数 实参:方法调用时,实际传递给形参的数据 2.值传递机制: 如果参数是基本数据类型,此时实参赋给形参的是实参真实存储的数据值。 如果参数是引用数据类型,此时实参赋给形参的是实参存储数据的地址值。 ...原创 2021-01-12 19:52:40 · 112 阅读 · 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 · 274 阅读 · 0 评论 -
方法重载(宋红康JAVASE)
方法重载 overload 两同一不同 - 同一个类、相同方法名 - 参数列表不同:参数个数不同,参数类型不同 判断是否为重载方法:跟方法的权限修饰符、返回值类型、形参变量名、方法体都没有关系! 在通过对象调用方法时,如何确定某一个指定的方法:方法名 —> 参数列表 ...原创 2021-01-11 21:35:21 · 92 阅读 · 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 · 221 阅读 · 1 评论 -
属性和局部变量的异同比较(宋红康JavaSE笔记)
一、相同点 定义变量的格式: 数据类型 变量名= 变量值 先声明后使用 变量都有其对应的作用域 二、不同点 局部变量与属性声明位置的不同 局部变量: 形参上;方法内部;(代码块内;构造器形参;构造方法内部) 属性:定义在类的一对大括号内 可否用权限修饰符(体现封装性)修饰: 属性:可(private;protected;缺省;public) 局部变量:不可 初始化值的情况: 属性:类的属性,根据其类型,都默认初始化值。 整型(byte、short、int、long:0)原创 2021-01-10 23:09:57 · 138 阅读 · 0 评论 -
0420_宋红康笔记(day11-13)(多态、重写重载、super、子类对象实例化、转型、装箱、equals)
多态 多态的使用:虚拟方法调用 有了对象的多态性以后,我们在编译期,只能调用父类中声明的方法,但在运行期,我们实际执行的是子类重写父类的方法。 总结:编译,看左边;运行,看右边。 多态性的使用前提: ① 类的继承关系 ② 方法的重写 对象的多态性,只适用于方法,不适用于属性(编译和运行都看左边) ...原创 2020-04-21 20:41:09 · 194 阅读 · 0 评论 -
0416_宋红康笔记(类内部的组成成分、形参传递、递归)
递归退出条件是最小值等于多少的时候 分析代码块内存解析的时候要注意的两点: 内存结构:栈(局部变量)、堆(new出来的结构:对象(非static成员变量)、数组) 变量:成员变量 vs 局部变量(方法内、方法形参、构造器内、构造器形参、代码块内) 成员变量可以不用初始化,其具有默认值;但是局部变量一定需要初始化或者赋值后才能使用,否则编译报错。 ...原创 2020-04-16 22:50:30 · 231 阅读 · 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 · 206 阅读 · 0 评论
分享