
JavaSE
TCA
class Learner
展开
-
比较两种类加载方式-使用.class和Class.forName(String className)
请先看Demo:class Initable1Parent { static { System.out.println("Initializing Initable1Parent..."); }}class Initable2Parent { static { System.out.println("Initializing Initable2Parent..."); }...原创 2018-06-02 16:05:39 · 798 阅读 · 0 评论 -
javaSE-chapter8类和对象概述
1. 抽象 从特定的角度出发,从已经存在的事物中抽取我们所关注的特性和行为,从而形成一个新的事物的思维过程,是一种从复杂到简洁的思维方式。 类和对象的关系:对象是类的实例,类是对象的模板。2. 类 2.1 定义格式: [修饰符] class 类名 { [成员变量] [方法] } 注意:如果类使用了public修饰符,则必须保证当前文件名和当前...原创 2018-05-19 16:46:33 · 192 阅读 · 0 评论 -
javaSE-chapter7方法概述
1. 方法定义 程序中完成独立功能,可重复使用的一段代码集合2. 方法定义格式 [修饰符] 返回值类型 方法名称 ([参数列表]) { 方法体; }3. 方法调用 如果方法使用了static修饰符,即为静态方法,则用方法所在类的名称.方法名称([实际参数]); 如果方法没有使用static修饰符,即为非静态方法,则用方法所在类的实例对象.方法名称...原创 2018-05-19 11:46:34 · 216 阅读 · 0 评论 -
javaSE-chapter6流程语句
1. 顺序结构2. 分支结构 2.1 if语句 2.1.1if (boolean表达式/boolean常量/boolean变量) { 条件执行体A; } 2.1.2 if (boolean表达式/boolean常量/boolean变量) { 条件执行体A; } else { ...原创 2018-05-19 10:51:11 · 185 阅读 · 0 评论 -
javaSE-chapter5运算符
1.算数运算符(+,-,*,/)注:1.1 两个char字符相加,得到的是对应的ASCII码表中的数值相加 1.2 两个字符串相加,即拼接2. 自增自减运算符(++, --) 2.1 都只能操作变量,不能操作常量 2.2 前置自增(减)和后置自增(减) 2.2.1 前置自增(++a):先自增,再作运算 2.2.2 后置自增(a++): 先作运算,再自增 2.2.3...原创 2018-05-18 22:54:33 · 196 阅读 · 0 评论 -
javaSE-chapter4基本数据类型
1. 常量与变量 1.1 常量:包括字面量以及用final修饰的变量 1.2 变量 1.2.1 变量的含义:表示存储空间,可用来存放某一类型的常量,没有固定值,可以重复使用 1.2.2 变量的定义格式:数据类型 变量名 (如:int a;) 1.2.3 变量的初始化(赋值): 变量名 = 声明变量类型的常量 (注:必须初始化之后,才会在内存中占有空间) 1...原创 2018-05-16 22:36:02 · 184 阅读 · 0 评论 -
String与StringBuilder,StringBuffer
1. 首先要清楚final的含义:被final修饰的变量,如果该变量是基本数据类型,则该变量的值无法改变;如果该变量是引用数据类型,则仅仅表示该变量所引用的对象的地址是不变的,但是,引用的对象的内容是可能发生改变的。原理:java中引用类型存储,均存储的是引用地址,而非引用对象本身。如上图,引用类型obj用final修饰,仅仅表示,一旦obj进行初始化,指向了0x123,则不能修改,不能再引用别的...原创 2018-05-16 17:33:51 · 135 阅读 · 0 评论 -
javaSE-chapter3基本语法
1. 基本规定 1.1 严格区分大小写 1.2 一个java源文件里可以定义多个java类,但最多只能一个类被定义为public类,且该类名应与原文件名相同 1.3 当一个源文件包含N个java类时,成功编译后会生成N份字节码文件,即每个类都会生成一个class文件,且文件名与类名保 持一致 1.4 main方法是程序的入口2. java注释 2.1 单行注释 // 2.2 多...原创 2018-05-16 00:34:48 · 128 阅读 · 0 评论 -
javaSE-chapter2基础知识
1.java发展: 从SUN到ORACLE2. java的三大平台: javaSE, javaEE, javaME原创 2018-05-15 22:37:49 · 168 阅读 · 0 评论 -
javaSE-chapter1计算机基础
1. 操作系统(operation system) 是管理和控制计算机硬件和软件资源的计算机程序。是直接运行在“计算机”上的最基本的系统软件。任何其他软件都必须在操作系统的支持下才能运行。 1.1 分类: Unix Windows MacOS 1.2 平台相关性: 我们称能够支持程序运行的硬件或软件环境为平台,很多时候,如在windows中可执行的文件不能在Linux系 统中...原创 2018-05-15 21:55:32 · 161 阅读 · 0 评论 -
javaSE-chapter9变量
1. 在java中,变量可分为成员变量和局部变量。成员变量又可以分为静态成员变量和非静态成员变量。局部变量也可以根据所在位置的不同分为方法内设的变量,方法的形参,以及代码块中的变量。在下图中,给大家罗列了这些变量的区别。...原创 2018-05-19 17:26:41 · 130 阅读 · 0 评论 -
javaSE-chapter10封装性
1. package关键字 1.1 语法格式 package 包.子包.子子包... (注:必须将该语句作为java文件中的第一行代码) 1.2 包的命名 1.2.1 包的命名需要遵循标识符规范,字母一般全部小写 1.2.2 一般分为四到五层 第一层:甲方公司域名的倒序 eg: com.tca 第二层:项目名称 eg: com.tca.oa ...原创 2018-05-19 20:10:55 · 183 阅读 · 0 评论 -
javaSE-chapter11继承性
1. 语法格式 class 子类名 extends 父类名 { 成员; }2. 继承关系 2.1 在java中,类和类之间的继承只允许单继承,不允许多继承,即每个子类只能extends一个父类,只有一个直接父类 2.2 在java中,虽然不能多继承,但可以多重继承,即class A extends B, 同时,class B extends C,此时,B类和C类均为A类 的父类 ...原创 2018-05-20 18:03:16 · 206 阅读 · 1 评论 -
javaSE-chapter16异常机制
1. java异常机制概述 1.1 继承体系 Error: 表示错误,一般指JVM相关的不可修复的错误,如:系统崩溃,内存溢出,JVM错误等。由JVM抛出,我们不需要进行处理 Exception: 表示异常,指程序中出现不正常的情况,该问题可以修复处理。 RuntimeException: 运行时异常。在编译时期,可以不处理(抛出或捕获处理),编译会通过。但在运行时期可...原创 2018-05-29 00:19:01 · 210 阅读 · 0 评论 -
javaSE-chapter15内部类
1. 内部类 1.1 定义在类结构中的一个类 1.2 作用: 1.2.1 增强封装,把内部类隐藏在外部类之内,不允许其他类直接访问该类 1.2.2 内部类提高代码可读性和可维护性,把小型类嵌入到外部类中,在结构上更靠近 1.2.3 内部类可以直接访问外部类的成员 1.3 分类: 实例内部类, 静态内部类, 局部内部类(包括匿名内部类)2. 实例内部类 2.1 特点 ...原创 2018-05-26 11:30:59 · 155 阅读 · 0 评论 -
为什么需要内部类
1. 可以实现多继承 我们知道,java中的类目前只支持单继承,即类只能有个直接父类。但如果我们想要继承两个抽象类,此时需要借助内部类实现。 如:abstract class FlyingAnimal { abstract void fly();}abstract class SwimmingAnimal { abstract void swim();}/** * S...原创 2018-05-25 19:45:44 · 1631 阅读 · 0 评论 -
构造器内部的多态方法
提出问题:已知B类继承于A类,且B类复写了A类中公共的非静态的function()方法。且在A类的构造器中,调用function()方法。我们知道,在创建B类实例对象的时候,会调用A类的构造器方法。那么,调用的是B类实例对象的function()方法,还是A类实例的function()方法?首先,看一个实例:class Glyph { Glyph(){ System.out.println(...原创 2018-05-24 15:24:35 · 232 阅读 · 0 评论 -
javaSE-chapter14接口
1. 接口概念 java接口表示一种规范/约束,要求实现者必须遵守该规范2. 定义接口 语法: [public] interface 接口名{ 方法定义; } 注: 不使用public修饰符,表示仅仅可以被该接口所在的包内的其他类实现,对非该包内的类不可见3. 接口内的成员 3.1 接口中没有构造器,不可以new 3.2 接口中定义的成员变量,实质是全局静态常量...原创 2018-05-24 00:38:22 · 203 阅读 · 0 评论 -
javaSE-chapter13抽象方法与抽象类
1. 抽象方法 1.1 特征 1.1.1 使用abstract修饰,方法内没有方法体,留给子类实现 1.1.2 抽象方法修饰符不能是private, final 以及static修饰,因为抽象方法的设计初衷是希望子类复写(实现),来实现多态 若使用private修饰符,子类无法复写。final修饰符修饰方法也表明方法该方法为最终方法,无法复写。static是类级...原创 2018-05-21 23:56:39 · 154 阅读 · 0 评论 -
javaSE-chapter12多态性
1. 多态 对象可以有多种形态,可以存在不同的形式。但多态是基于继承关系(父类和子类),也可以是实现关系(接口和实现类)。 是将子类对象赋给父类变量,或用接口变量接收实现类对象,在运行时期表现出具体的子类或实现类特征。2. 作用 当把不同的子类对象当作父类类型来看待,可以屏蔽不同子类对象之间的差异,从而写出通用的代码达到通用编程,以适应需 求的不断变化。3. 多态的常见...原创 2018-05-21 20:54:51 · 147 阅读 · 0 评论 -
java对象的初始化过程
1.当不含static成员时,先看实例:如图所示,我们先定义相关类,Building, House(继承Building), Villa(继承House), 同时,House有成员变量LivingRoom, LivingRoom有成员变量Bed和Desk。具体如下代码://建筑class Building { public Building() { System.out.println("...原创 2018-05-21 10:45:03 · 6147 阅读 · 0 评论 -
数组的协变与泛型上下限
1. 数组协变数组协变本质是多态,即用声明的父类变量或接口,接收子类对象。请看下面的Demo:class Animal{ @Override public String toString() { return "Animal"; }}class Person{ @Override public String toString() { return "Person"; }}...原创 2018-06-03 20:09:25 · 361 阅读 · 0 评论