同名公众号 - 人生代码
这个作者很懒,什么都没留下…
展开
-
Java系统包和自定义包
系统包包允许将类组合成较小的单元(类似文件夹),它基本上隐藏了类,并避免了名称上的冲突。包允许在更广泛的范围内保护类、数据和方法,可以在包内定义类,而在包外的代码不能访问该类。包的 3 个作用如下:区分相同名称的类。能够较好地管理大量的类。控制访问范围。在 Java 语言中,开发人员可以自定义包,也可以使用系统包,常用的系统包如表 1 所示。自定义包Java 的系统包无须定义可以...原创 2019-04-13 15:54:36 · 731 阅读 · 0 评论 -
public、 private、protected 和 friendly
在 Java 语言中提供了多个作用域修饰符,其中常用的有 public、private、protected、final、abstract、static、transient 和 volatile,这些修饰符有类修饰符、变量修饰符和方法修饰符。本文将详细介绍访问控制修饰符。在实际生活中,如果要获取某件物品,与其直接穿过堡垒的墙壁,从而导致墙壁毁灭和破坏,不如通过门口的警卫请求进入堡垒的许可。一般而言...原创 2019-04-13 12:52:24 · 1741 阅读 · 0 评论 -
Java new一个对象的过程中发生了什么
class Person{ private String name; private int age; public Person() { super(); } public Person(String name, int age) { this.name = name; this.age = a...原创 2019-04-13 12:14:36 · 786 阅读 · 0 评论 -
ClassCastException异常的出现原因和解决方法
ClassCastException是JVM在检测到两个类型间转换不兼容时引发的运行时异常。此类错误通常会终止用户请求。在执行任何子系统的应用程序代码时都有可能发生ClassCastException异常。通过转换,可以指示Java编译器将给定类型的变量作为另一种变量来处理。对基础类型和用户定义类型都可以转换。Java语言规范定义了允许的转换,其中大多数可在编译时进行验证。不过,某些转换还需要运行...原创 2019-04-11 16:40:00 · 23867 阅读 · 2 评论 -
java 避免出现NullPointerException(空指针)的方法总结
java 避免出现NullPointerException(空指针)的方法总结Java应用中抛出的空指针异常是解决空指针的最好方式,也是写出能顺利工作的健壮程序的关键。俗话说“预防胜于治疗”,对于这么令人讨厌的空指针异常,这句话也是成立的。值得庆幸的是运用一些防御性的编码技巧,跟踪应用中多个部分之间的联系,你可以将Java中的空指针异常控制在一个很好的水平上。顺便说一句,这是Javarevisi...原创 2019-04-11 16:34:12 · 633 阅读 · 0 评论 -
github学习java
java原创 2019-04-02 08:36:12 · 820 阅读 · 0 评论 -
Java 包(package)
为了更好地组织类,Java 提供了包机制,用于区别类名的命名空间。包的作用1、把功能相似或相关的类或接口组织在同一个包中,方便类的查找和使用。2、如同文件夹一样,包也采用了树形目录的存储方式。同一个包中的类名字是不同的,不同的包中的类的名字是可以相同的,当同时调用两个不同包中相同类名的类时,应该加上包名加以区别。因此,包可以避免名字冲突。3、包也限定了访问权限,拥有包访问权限的...原创 2019-04-02 08:36:24 · 477 阅读 · 0 评论 -
Java 接口
接口(英文:Interface),在JAVA编程语言中是一个抽象类型,是抽象方法的集合,接口通常以interface来声明。一个类通过继承接口的方式,从而来继承接口的抽象方法。接口并不是类,编写接口的方式和类很相似,但是它们属于不同的概念。类描述对象的属性和方法。接口则包含类要实现的方法。除非实现接口的类是抽象类,否则该类要定义接口中的所有方法。接口无法被实例化,但是可以被实现。一个实现接口...原创 2019-04-02 08:36:36 · 457 阅读 · 0 评论 -
Java 封装
在面向对象程式设计方法中,封装(英语:Encapsulation)是指一种将抽象性函式接口的实现细节部份包装、隐藏起来的方法。封装可以被认为是一个保护屏障,防止该类的代码和数据被外部类定义的代码随机访问。要访问该类的代码和数据,必须通过严格的接口控制。封装最主要的功能在于我们能修改自己的实现代码,而不用修改那些调用我们代码的程序片段。适当的封装可以让程式码更容易理解与维护,也加强了程式码的...原创 2019-04-02 08:36:46 · 400 阅读 · 0 评论 -
Java 抽象类
Java 抽象类在面向对象的概念中,所有的对象都是通过类来描绘的,但是反过来,并不是所有的类都是用来描绘对象的,如果一个类中没有包含足够的信息来描绘一个具体的对象,这样的类就是抽象类。抽象类除了不能实例化对象之外,类的其它功能依然存在,成员变量、成员方法和构造方法的访问方式和普通类一样。由于抽象类不能实例化对象,所以抽象类必须被继承,才能被使用。也是因为这个原因,通常在设计阶段决定要不要设计...原创 2019-04-02 08:37:07 · 468 阅读 · 0 评论 -
Java 多态
多态是同一个行为具有多个不同表现形式或形态的能力。多态就是同一个接口,使用不同的实例而执行不同操作,如图所示:多态性是对象多种表现形式的体现。现实中,比如我们按下 F1 键这个动作:如果当前在 Flash 界面下弹出的就是 AS 3 的帮助文档;如果当前在 Word 下弹出的就是 Word 帮助;在 Windows 下弹出的就是 Windows 帮助和支持。同一个事件发生在不同的对...原创 2019-04-02 08:37:19 · 505 阅读 · 0 评论 -
Java 重写(Override)与重载(Overload)
重写(Override)重写是子类对父类的允许访问的方法的实现过程进行重新编写, 返回值和形参都不能改变。即外壳不变,核心重写!重写的好处在于子类可以根据需要,定义特定于自己的行为。 也就是说子类能够根据需要实现父类的方法。重写方法不能抛出新的检查异常或者比被重写方法申明更加宽泛的异常。例如: 父类的一个方法申明了一个检查异常 IOException,但是在重写这个方法的时候不能抛出 Exc...原创 2019-04-02 08:37:30 · 398 阅读 · 0 评论 -
面向对象编程——继承和多态
//—引用我课堂老师的讲义(詹老师)1、为什么使用继承从已有的类派生出新的类,称为继承。在不同的类中也可能会有共同的特征和动作,可以把这些共同的特征和动作放在一个类中,让其它类共享。因此可以定义一个通用类,然后将其扩展为其它多个特定类,这些特定类继承通用类中的特征和动作。继承是 Java 中实现软件重用的重要手段,避免重复,易于维护,易于理解。2、父类和子类如果类 B 从类 A 派生...原创 2019-04-01 14:54:48 · 641 阅读 · 0 评论 -
Java 继承
继承的概念继承是java面向对象编程技术的一块基石,因为它允许创建分等级层次的类。继承就是子类继承父类的特征和行为,使得子类对象(实例)具有父类的实例域和方法,或子类从父类继承方法,使得子类具有父类相同的行为。生活中的继承:兔子和羊属于食草动物类,狮子和豹属于食肉动物类。食草动物和食肉动物又是属于动物类。所以继承需要符合的关系是:is-a,父类更通用,子类更具体。虽然食草动物和食肉...原创 2019-04-01 14:46:30 · 485 阅读 · 0 评论 -
异常使用可遵循下面的原则
1:在当前方法被覆盖时,覆盖他的方法必须抛出相同的异常或异常的子类;2:在当前方法声明中使用try-catch语句捕获异常;3:如果父类抛出多个异常,则覆盖方法必须抛出那些异常的一个子集,不能抛出新异常。从大体来分异常为两块:1、error—错误 : 是指程序无法处理的错误,表示应用程序运行时出现的重大错误。例如jvm运行时出现的OutOfMemoryError以及Socket编程时出现...原创 2019-04-01 13:48:20 · 498 阅读 · 0 评论 -
Java 异常处理
异常是程序中的一些错误,但并不是所有的错误都是异常,并且错误有时候是可以避免的。比如说,你的代码少了一个分号,那么运行出来结果是提示是错误 java.lang.Error;如果你用System.out.println(11/0),那么你是因为你用0做了除数,会抛出 java.lang.ArithmeticException 的异常。异常发生的原因有很多,通常包含以下几大类:用户输入了非法数...原创 2019-04-01 13:36:49 · 405 阅读 · 0 评论 -
Java 正则表达式
正则表达式定义了字符串的模式。正则表达式可以用来搜索、编辑或处理文本。正则表达式并不仅限于某一种语言,但是在每种语言中有细微的差别。package com.company;import java.util.regex.Pattern;public class RegexExample1 { public static void main(String[] a...原创 2019-04-01 11:20:58 · 508 阅读 · 0 评论 -
Java 日期时间
获取当前日期时间Java中获取当前日期和时间很简单,使用 Date 对象的 toString() 方法来打印当前日期和时间,如下所示:日期比较Java使用以下三种方法来比较两个日期:使用 getTime() 方法获取两个日期(自1970年1月1日经历的毫秒数值),然后比较这两个值。使用方法 before(),after() 和 equals()。例如,一个月的12号比18号早,则 ...原创 2019-04-01 11:21:10 · 2212 阅读 · 0 评论 -
使用Java类库:Array类、Arrays类
Array类继承关系java.lang.Object java.lang.reflect.Array原型声明public final class Array extends Object构造方法private Array()方法概览static Object get(Object array, int index)static boolean getBoolean(...原创 2019-04-01 11:21:20 · 810 阅读 · 0 评论 -
Java 数组
数组对于每一门编程语言来说都是重要的数据结构之一,当然不同语言对数组的实现及处理也不尽相同。Java 语言中提供的数组是用来存储固定大小的同类型元素。你可以声明一个数组变量,如 numbers[100] 来代替直接声明 100 个独立变量 number0,number1,…,number99。声明数组变量首先必须声明数组变量,才能在程序中使用数组。下面是声明数组变量的语法:dataTyp...原创 2019-04-01 11:21:32 · 461 阅读 · 0 评论 -
Java StringBuffer 和 StringBuilder 类
Java StringBuffer 和 StringBuilder 类当对字符串进行修改的时候,需要使用 StringBuffer 和 StringBuilder 类。和 String 类不同的是,StringBuffer 和 StringBuilder 类的对象能够被多次的修改,并且不产生新的未使用对象。StringBuilder 类在 Java 5 中被提出,它和 StringBuffe...原创 2019-04-01 11:21:43 · 676 阅读 · 0 评论 -
Java String 类
注意:String 类是不可改变的,所以你一旦创建了 String 对象,那它的值就无法改变了。如果需要对字符串做很多修改,那么应该选择使用 StringBuffer & StringBuilder 类。public class string { public static void main(String args[]){ char[] helloArr = ...原创 2019-04-01 11:21:52 · 455 阅读 · 0 评论 -
Java Character 类
public class Chara { public static void main(String[] args) { char ch = 'a'; char uniChar = '\u039A'; //char[] charArr = ['a', 'b', 'c', 'd', 'e']; Character chq ...原创 2019-03-31 14:11:02 · 505 阅读 · 0 评论 -
Java Number & Math 类
public class number { public static void main(String[] args) { Integer x = 5; x = x + 10; System.out.println(x); }}当 x 被赋为整型值时,由于x是一个对象,所以编译器要对x进行装箱。然后,为了使x能进行加运算,...原创 2019-03-31 13:46:56 · 496 阅读 · 0 评论 -
Java switch case 语句
switch 语句中的变量类型可以是: byte、short、int 或者 char。从 Java SE 7 开始,switch 支持字符串 String 类型了,同时 case 标签必须为字符串常量或字面量。switch 语句可以拥有多个 case 语句。每个 case 后面跟一个要比较的值和冒号。case 语句中的值的数据类型必须与变量的数据类型相同,而且只能是常量或者字面常量...原创 2019-03-31 13:33:29 · 1006 阅读 · 2 评论 -
Java 循环结构 - for, while 及 do...while
while 循环do…while 循环for 循环for循环虽然所有循环结构都可以用 while 或者 do…while表示,但 Java 提供了另一种语句 —— for 循环,使一些循环结构变得更加简单。for循环执行的次数是在执行前就确定的。语法格式如下:for(初始化; 布尔表达式; 更新) { //代码语句}关于 for 循环有以下几点说明:最先执...原创 2019-03-31 13:27:23 · 582 阅读 · 0 评论 -
Java 运算符
算术运算符关系运算符位运算符逻辑运算符赋值运算符其他运算符算术运算符算术运算符用在数学表达式中,它们的作用和在数学中的作用一样。下表列出了所有的算术运算符。表格中的实例假设整数变量A的值为10,变量B的值为20:运行结果如下自增自减运算符1、自增(++)自减(–)运算符是一种特殊的算术运算符,在算术运算符中需要两个操作数来进行运算,而自增自减运算符是一个操作数。...原创 2019-03-31 13:10:49 · 461 阅读 · 0 评论 -
Java 修饰符
访问修饰符default (即缺省,什么也不写): 在同一包内可见,不使用任何修饰符。使用对象:类、接口、变量、方法。private : 在同一类内可见。使用对象:变量、方法。 注意:不能修饰类(外部类)public : 对所有类可见。使用对象:类、接口、变量、方法protected : 对同一包内的类和所有子类可见。使用对象:变量、方法。 注意:不能修饰类(外部类)。默认...原创 2019-03-31 11:49:02 · 484 阅读 · 0 评论 -
Java 变量类型
/** * 类变量:独立于方法之外的变量,用 static 修饰。 * 实例变量:独立于方法之外的变量,不过没有 static 修饰。 * 局部变量:类的方法中的变量。 * int a, b, c; // 声明三个int型整数:a、 b、c * int d = 3, e = 4, f = 5; // 声明三个整数并赋予初值 * byte z = 22; ...原创 2019-03-31 11:22:10 · 437 阅读 · 0 评论 -
Java 基本数据类型
变量就是申请内存来存储值。也就是说,当创建变量的时候,需要在内存中申请空间。内存管理系统根据变量的类型为变量分配存储空间,分配的空间只能用来储存该类型数据。内置数据类型Java语言提供了八种基本类型。六种数字类型(四个整数型,两个浮点型),一种字符类型,还有一种布尔型。public class PrimitiveTypeTest { public static void ma...原创 2019-03-31 10:56:58 · 490 阅读 · 0 评论 -
java源文件声明规则
一个源文件中只能有一个public类一个源文件可以有多个非public类源文件的名称应该和public类的类名保持一致。例如:源文件中public类的类名是Employee,那么源文件应该命名为Employee.java。如果一个类定义在某个包中,那么package语句应该在源文件的首行。如果源文件包含import语句,那么应该放在package语句和类定义之间。如果没...原创 2019-03-31 09:40:54 · 752 阅读 · 0 评论 -
深入理解java中HelloWorld的执行流程
HelloWorld.java是我们学习java的第一个程序,简单的再也不能简单了,可是里面的原理以及执行流程大家都知道吗?最近在复习java知识,特地钻研了一番分享给大家!public class HelloWorld { public static void main(String[] args) { String s ; ...原创 2019-03-31 08:53:23 · 905 阅读 · 0 评论 -
推荐几个比较高质量的java学习博客
1.主要涉及到java基础内容和设计模式,SSM框架教程:java SSM2.作者从事过Java开发,近几年来主要做iOS技术相关的工作,对无线产品相关和iOS平台相关开发有粗浅理解,关注新兴技术。喜欢不断深入某技术领域的原理研究,喜欢解决有挑战性的问题:Java文章列表 | 三石·道3.随着这几年的发展,并发网组织翻译和原创了几百篇技术精品文章,包括Java,C++,JS,开源框架,管理...原创 2019-03-30 21:56:40 · 651 阅读 · 0 评论