![](https://img-blog.csdnimg.cn/20201014180756913.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Java核心卷
L# S@
这个作者很懒,什么都没留下…
展开
-
Java核心卷 卷一 自我笔记 5.4继承-------Object类
Object类Object类是Java中所有类的父类,在Java中每个类都是由它扩展而来的。如果一个类没有明确地指出父类,Object类就被默认为这个类的父类。我们可以使用Object类型的变量去引用任意类型的对象。Object o=new Employee("aaa",5000);当然,Object类的变量只能用于各个值的通用持有者。要想对其中的内容进行具体的操作,还需要清楚对象的原始...原创 2019-11-04 17:42:09 · 115 阅读 · 0 评论 -
Java核心卷 卷一 自我笔记 5.2继承-------多态、方法调用、阻止继承和强制类型转换
多态有一个用来判断是否应该设计为继承关系的简单规则,就是“is-a”规则,它表明子类的每个对象也是父类的对象。“is-a”规则的另一种表述法是置换法则。它表明程序中出现父类对象的任何地方都可以用子类对象置换。例如,我们可以将一个子类对象赋给父类变量。 Employee e; e=new Employee("aaa",....); e=new Manager("bbb",.....);...原创 2019-11-02 11:11:14 · 89 阅读 · 0 评论 -
Java核心卷 卷一 自我笔记 5.1继承-------类、父类与子类
类、超类与子类定义子类之前,我们写过一个Employee类,现在我们定义一个继承Employee类的子类Manager类。用关键字extends表示继承。public class Manager extends Employee{ 加入方法和域}关键字extends表示正在构造的新类派生于一个已存在的类。已存在的类称为超类、基类或者父类;新类称为子类或者孩子类。尽管Employee...原创 2019-10-31 23:16:22 · 179 阅读 · 0 评论 -
Java核心卷 卷一 自我笔记 5.3继承-------抽象类、受保护访问
抽象类如果自下而上在类的继承层次结构中上移,位于上层的类更具有通用性,甚至可能更加抽象。从某种角度看,父类更加通用,人们只将它作为派生其他类的基类,而不作为想使用的特定的实例类。为什么要花费精力进行抽象?因为每个人都有一些诸如姓名这样的属性。学生与雇员都有姓名属性,因此可以将getName方法放置在位于继承关系较高层次的通用父类中。现在,我们增加一个getDescription方法,它可以返...原创 2019-11-02 21:55:56 · 145 阅读 · 0 评论 -
Java核心卷 卷一 自我笔记 1.Java程序的设计概述
Java的优点是有很多的,在我看来,主要有以下几点:1.面向对象:它将重点放在了数据(即对象)和对象的接口上2.健壮性:它可以找出运行时的错误,节省了时间3.安全性:运行时堆栈溢出。如蠕虫和病毒常用的攻击手段。破坏自己的进程空间之外的内存未经授权读写文件因为,Java会将外来代码,即不可信代码在一个沙箱环境里面执行,在这里它不会影响主系统。4.可移植性:Java先编译成字节码(中间码...原创 2019-09-24 17:57:31 · 95 阅读 · 0 评论 -
Java核心卷 卷一 自我笔记 3.1Java的基本程序设计结构---Java的数据类型、Java的转义字符、变量与常量和运算符
Java的数据类型类型存储要求int4字节short2字节long8字节byte1字节float4字节double8字节char1字节一般来说,int是最常用的。short和byte主要用于特定的应用场合,例如,底层文件处理或者需要控制占用存储空间量的大数组,因为Java的可移植性,所以各种数据结构的取值范围必须固定。比...原创 2019-09-26 13:15:05 · 143 阅读 · 0 评论 -
Java核心卷 卷一 自我笔记 3.2Java的基本程序设计结构---数值转换和其他运算符
数值转换在Java中,我们经常需要将一种数值类型转换为另一种数值类型。例如:int n=123456789;float f=n;当将这个整数数值转换为float时,将会得到同样大小的结果,但却失去了一定的精度。当使用上面两个数值进行二元操作时(例如n+f,n是整数,f是浮点数),先将这两个操作数转换为同一种类型,然后再计算。如果两个操作数中有一个是double类型,另一个操作数就...原创 2019-09-27 20:01:27 · 72 阅读 · 0 评论 -
Java核心卷 卷一 自我笔记 3.3Java的基本程序设计结构---字符串
字符串在Java中,没有内置的字符串类型,而是在标准Java类库中提供了一个预定义类,叫String。每一个用双引号括起来的字符串都是String类的一个实例:String e="";//这是个空串String greeting="hello";String 类的substring方法可以从一个较大的字符串提取一个子串。例如:String s=greeting.substring(0,...原创 2019-10-01 14:09:46 · 101 阅读 · 0 评论 -
Java核心卷 卷一 自我笔记 3.4Java的基本程序设计结构---输入输出流
输入输出流原创 2019-10-06 12:58:21 · 86 阅读 · 0 评论 -
Java核心卷 卷一 自我笔记 3.5Java的基本程序设计结构---控制流程
条件语句在Java中,条件语句的格式为if(condition)statement这里的条件必须用括号括起来。与绝大多数程序设计语言一样,Java常常希望在某个条件为真时执行多条语句。在这样的情况下,应该使用块语句,例如:if(a>=b){ System.out.println(a); }另外,我们需要介绍一下代码块。什么是代码块?块,是...原创 2019-10-06 21:34:46 · 107 阅读 · 0 评论 -
Java核心卷 卷一 自我笔记 3.6Java的基本程序设计结构---数组
数组数组是一种数据结构,用来存储同一类型值的集合。通过一个整型下标可以访问数组中的每一个值。在声明数组变量时,需要指出数组类型和数组变量的名字。下面声明了整型数组a:int[] a;不过,这条语句只声明了变量a,并没有将a初始化为一个真正的数组。应该使用new运算符创建数组。int[] a=new int[100];这条语句创建了一个可以存储100个整数的数组。数组长度不要求是常量:...原创 2019-10-11 17:45:23 · 115 阅读 · 0 评论 -
Java核心卷 卷一 自我笔记 4.1对象与类-------类与Java库中的类
面向对象程序设计概述面向对象程序设计是当今主流的程序设计范性。因为Java是完全面向对象的编程语言,所以,我们必须熟悉OPP才能够编写程序。面向对象的程序是由对象组成的,每个对象包含对用户公开的特定功能部分和隐藏的实现部分。程序中的很多对象来自标准库,还有一些是定义类。部分对象,我们可以自己构造出来。类类是构造对象的模板。我们将类构造对象的过程叫做创建类的实例。在Java中,所有的代码都位...原创 2019-10-17 17:40:04 · 75 阅读 · 0 评论 -
Java核心卷 卷一 自我笔记 4.2对象与类-------用户自定义类
用户自定义类我们要想创建一个完整的程序,应该将若干类组合在一起,大部分类需要我们去编写,其中只有一个类用main方法。Employee类下面我们看一个非常简单的Employee类。以一个程序为例:public class EmployeeTest { public static void main(String[] args) { Employee[] employ...原创 2019-10-20 20:27:40 · 100 阅读 · 0 评论 -
Java核心卷 卷一 自我笔记 4.3对象与类-------静态域、静态方法与方法参数
静态域与静态方法静态域静态修饰符为static。如果一个域被定义为静态域,那么一个类中只能有一个静态域。而每一个对象的所有实例域都有自己的一份拷贝。例如:class Employee{ private static int nextid=1; private int id;}我们现在创建100个Employee类的对象,那么对于这100个Employee类的对象,则有100个实...原创 2019-10-26 21:15:07 · 109 阅读 · 0 评论 -
Java核心卷 卷一 自我笔记 4.4对象与类-------对象构造和类设计技巧
对象构造我们之前已经编写过简单的构造器,可以定义对象的初始状态。但是,由于对象构造非常重要,使用Java提供了多种编写构造器的机制。重载有些类有多个构造器,例如,我们可以构造一个空的StringBuffer对象: StringBuffer stringBuffer = new StringBuffer();或者,可以指定一个初始字符串: StringBuf...原创 2019-10-27 18:12:21 · 117 阅读 · 0 评论 -
Java核心卷 卷一 自我笔记 5.5继承-------泛型数组列表
泛型数组列表在Java中,允许在运行时确定数组的大小。int a=....;Employee[] staff=new Employee[a];当然,这段代码没有解决运行时动态更改数组的问题。一旦,确定了数组的大小,改变它就不容易。在java中,解决这个问题最简单的方法是使用Java中另外一个被称为ArrayList的类。它使用起来有点像数组,但在添加或者删除元素时,具有自动调节数组容量的...原创 2019-11-14 16:56:40 · 117 阅读 · 0 评论 -
Java核心卷 卷一 自我笔记 5.6继承-------对象包装器与自动装箱、枚举类和参数数量可变的方法
对象包装器与自动装箱有的时候,我们需要将int这样的基本类型转换为对象。所有的基本类型都有一个与之对应的类。例如,Integer类对应基本类型int。通常,这些类称为包装器。这些对象包装器类拥有很明显的名字:Integer、Long、Float、Double、Short、Byte、Character、Void和Boolean。对象包装类是不可变的,即一旦构造了包装器,就不允许更改包装在里面的值。...原创 2019-11-14 20:37:56 · 85 阅读 · 0 评论 -
Java核心卷 卷一 自我笔记 5.7继承-------反射
反射库提供了一个非常丰富且精心设计的工具集,以便编写能够动态操纵Java代码的程序。反射机制可以用来:在运行时分析类的能力在运行时查看对象,例如,编写一个toString方法供所有类使用实现通用的数组操作代码利用Method对象Class类在程序运行期间,Java运行时系统始终为所有的对象维护一个被称为运行时的类型标识。这个信息跟踪着每个对象所属的类。虚拟机利用运行时类型信息选择相...原创 2019-11-19 09:17:19 · 98 阅读 · 0 评论 -
Java核心卷 卷一 自我笔记 5.8继承-------继承的设计技巧
将公共操作和域放在超类这就是为什么将姓名域放到Person类中,而不是放到Employee和Student类中的原因。不要使用受保护的域protected机制并不能够带来更好的保护,其原因是:1.子类集合是无限制的,任何一个人都能够由某个类派生一个类,并编写代码以直接访问protected的实例域,从而破坏了封装性。2.在Java中,在同一个包中的所有类都可以访问protected域,而不管...原创 2019-11-20 12:28:03 · 133 阅读 · 0 评论