
java
markliwei1
苦逼的通信研究生
展开
-
java入门-构造函数和构造代码块功能
构造函数和构造代码块 1、特点: 函数名和类型相同 不用定义返回值类型 不可以写return语句 2、作用: 给对象进行初始化。 当一个类中没有定义构造函数是,呢么系统会默认给该类加入一个空参数的构造函数。 当在类中自定义了构造函数后,默认的构造函数就没有了。 3、构造函数与一般方法在格式上有不同4、构造函数与一般方法运行的原创 2017-08-16 09:15:05 · 352 阅读 · 0 评论 -
java入门--equals方法(二)
这一节主要是详细看看String类中的equals方法(这几篇文章都是从知乎的请浅池塘的文搬运过来的)package day10_9;public class StringEqualsDemo { public static void main(String[] args) { String s1 = "10"; String s2 = "10";原创 2017-10-09 14:04:10 · 203 阅读 · 0 评论 -
java入门--数组
一、一维数组package day10_9;public class charDemo { public static void main(String[] args) { char[] c1 = new char[] {'a','b','c'}; char[] c2 = new char[] {'x','y','z'}; char[] c3原创 2017-10-09 15:41:17 · 320 阅读 · 0 评论 -
String
String类的几个常用的方法的源代码 1、判断String是否为空的方法:isEmpty()public boolean isEmpty() { return value.length == 0; }2、返回String中的某一个字符方法:charAt(int Index)public char charAt(int index) { if((index原创 2017-10-09 15:52:22 · 176 阅读 · 0 评论 -
java入门--ArrayList源码简析
ArrayList继承了Abstract类实现了List、RandomAccess、Cloneable和Serializable接口。1、ArrayList有三个构造方法:如下public ArrayList(int initialCapacity) { super();//调用父类protected Abstractlist(){} if(initialCapac翻译 2017-10-18 14:51:12 · 189 阅读 · 0 评论 -
Java基础--static关键字
/* 静态:static 用法:是修饰符,只能修饰成员(成员变量,成员函数)。 当成员被静态修饰后,就多了一个调用方式,除了可以被对象调用外, 还可以直接被类名调用,调用方法(类名.静态成员) static特点: 1、随着类的加载而加载 也就是说静态会随着类的消失而消失,生命周期最长 2、优先于对象存在 明确一点静态实现存在的,对象是后存在的 3、被所有的对象所共享原创 2017-08-16 14:02:13 · 182 阅读 · 0 评论 -
java.lang.Object中equals()和hashCode()
java.lang.Object中equals()和hashCode()equals方法源码hashCode()源码“==”比较的是什么覆写equals()覆写hashCode()为什么覆写equals()的同时需要覆写hashCode原创 2018-07-01 19:27:54 · 296 阅读 · 0 评论 -
Java基础-反射基础
一、基础概念二、反射设计相关的类三、反射获取类实例对象四、使用反射机制破坏单例设计模式参考文章一、基础概念反射机制:在运行状态中,对于任意一个类都能够在知道这个类的全限定名的情况下获取这个类的构造方法、属性和方法,并且对于任意一个对象,都能够调用它的任意方法,这种动态获取信息以及动态调用对象方法的功能称之为Java语言的反射机制。二、反射设计相关的类...原创 2018-08-07 08:31:42 · 276 阅读 · 0 评论 -
JVM学习笔记(一)--类加载机制
一、类加载流程1.1、加载1.2、验证1.3、准备1.4、解析1.5、初始化二、类初始化2.1、执行clinit方法2.2、父类和子类有静态代码块和静态方法2.3、父类有静态带买块而子类没有静态代码2.4、一个类的clinit方法只执行一次三、 类初始化的五种情况3.1、当我们执行new、getStatic、putStatic、i...原创 2018-08-12 15:43:33 · 216 阅读 · 0 评论 -
JVM学习笔记(二)--静态分派和动态分派
一、静态分派1.1JVM是根据引用变量的类型来匹配重载方法的1.2 实际类型向上转型匹配方法二、动态分派2.1子类覆写了父类方法2.2、子类没有覆写父类方法三、 静态分派和动态分派结合一、静态分派所有依赖静态类型来定位方法执行版本分派动作称为静态分派,静态分派的典型应用就是方法的重载。方法的重载是因为我们的方法名参数相同,...原创 2018-08-12 20:05:53 · 487 阅读 · 0 评论 -
java-注解与反射
一、注解定义二、元注解2.1、元注解定义2.2、元注解种类三、Java自带的注解四、自定义注解3.1、定义注解3.2 使用注解五、注解与反射六、参考文章一、注解定义二、元注解2.1、元注解定义当我们自定义一个注解时,我们可以在自定义注解上添加元注解;用一句更通俗的话来说就是我们可以在标签上再贴一个标签。...转载 2018-08-15 15:48:19 · 533 阅读 · 0 评论 -
java-异常处理机制
一、异常处理类继承关系1.1、继承关系2.1、受查异常3.1、非受查异常二、处理非受查异常实现的两种方式2.1、使用try-catch-finally方式处理异常2.1.1异常处理流程:2.1.2局部变量2.1.3异常捕获的继承关系和执行关系2.1.4 finally和return之间的关系2.2异常声明和对捕获的异常重新抛出2.2.1使用pri...原创 2018-08-08 22:30:57 · 307 阅读 · 0 评论 -
java-final关键字的使用
一、final关键字修饰类final关键字可以修饰一般类,但是不能修饰抽象类和接口;其中被final修饰的类不可被继承。//错误案例,下面这个在类验证阶段就会出错public final class Father {}class Son extends Father{}//final不能修饰抽象类、编译时报错public final abstract class Final...原创 2018-08-21 14:58:50 · 895 阅读 · 0 评论 -
java-抽象类与接口
一、从类关键字方面二、从成员变量方面三、从构造器层面四、从方法层面来讲五、从继承和实现的角度来看六、 从创建对象的角度来看七、总结一、从类关键字方面抽象类使用的是abstract关键字修饰类,而接口使用的是interface。//class前面使用abstract修饰public abstract class AbstractClassTest {...原创 2018-08-30 10:25:21 · 327 阅读 · 0 评论 -
java入门--equals方法(一)
一、首先,我们给出一个实例package day10_9;public class equalsDemo { public static void main(String[] args) { Person p1 =new Person(18); Person p2 =new Person(18); System.out.println(p1.e原创 2017-10-09 13:27:27 · 406 阅读 · 0 评论 -
java入门包装类-Integer
package day10_9;public class IntegerDemo { public static void main(String[] args) { Integer i3 = 100; Integer i4 = 100; System.out.println(i3==i4); Integer i5 =1000;翻译 2017-10-09 11:02:23 · 228 阅读 · 0 评论 -
java基础--JDK帮助文档的编写
JDK帮助文档格式 1、以/*开头,以/结尾的方式在每个类方法前添加相关信息,相关信息包含整个类的说明,构造方法的说明、以及成员方法的说明 2、具体格式如下在整个类前面添加的说明文档为 /** Title:类名 Description:类的相关功能描述 @author 张三 @version 1.0 */在每个构造方法和成员方法前添加的说明文档 /** 方法原创 2017-08-17 09:13:24 · 579 阅读 · 0 评论 -
java入门--内存分配与操作
/*Person p = new Person(“zhangsan”,20); 该句话都做了什么 1、因为new用到了Person.class.所以 先找到Person.class文件并加载到内存中 2、执行改类中的static代码块,如果有的话,给Person.class类进行初始化 3、在堆内存中开辟空间,分配内存地址。 4、在堆内存中建立对象的特有属性,并进行默认初始化 5、对属性原创 2017-08-17 09:28:19 · 222 阅读 · 0 评论 -
Java入门--构造方法
1、构造方法的特点:构造方法的方法名称与类名一致构造方法的没有返回值 2、构造方法的功能:主要是对类中的实例变量进行初始化 3、构造方法的调用:在主函数新建一个类相应的引用变量时,会调用相应的构造方法对变量进行初始化(注意这里是相应的构造方法,一定不要误解为所有的构造方法都会被调用),当一个类中没有声明构造方法时,编译器会自动生成一个无参的构造方法,但是如果你声明了一个有参的构造方法,那么编原创 2017-08-18 10:15:47 · 461 阅读 · 0 评论 -
java入门--抽象和接口
一、抽象方法:我们从具有相同属性和行为的子类中抽取出来形成一个共同的父类。我们可以定义共同的属性,但是对于子类共同的方法,我们没有一个同一的描述(也就是说父类没有办法描述每一个子类的行为具体表现形式属性,但是子类的行为都具有共同的行为属性) 抽象方法的定义格式如下:abstract public 返回值类型 方法名();如:动物的叫声,狗的叫声是汪汪、猫的叫声是喵喵,但是都具备叫这个功能。通过将猫原创 2017-08-20 12:29:20 · 251 阅读 · 0 评论 -
java入门--private私有权限修饰符
/* 1、通过private私有权限修饰符,用于修饰类中的成员,私有只在本类中有效 2、将age私有化以后,类意外即使建立了对象也不能直接访问但是人应该有年龄,就需要在Person类中提供对应访问age的方式 3、注意:私有仅仅是封装的一阵表现形式, 之所以对外提供访问方式中,就是因为可以在访问方式找那个加入逻辑判断等语句对访问数据进行操作,提高代码的健壮性。 */class Person原创 2017-08-16 09:04:16 · 648 阅读 · 0 评论 -
Java入门--this指针
this关键字用于区分局部变量和成员变量同名的情况 this为什么可以解决成员变量和局部变量之间的不同 this特点:this代表本类的对象,到底代表哪一个对象? this代表所在函数所属对象的引用。(简单说哪个对象在调用this所在的函数,this就代表哪个对象) this关键字的应用:当定义类中函数(功能)时,该函数内部要用到调用该函数的对象时,这时要用this来表示这个对象。class原创 2017-08-16 09:25:13 · 298 阅读 · 0 评论 -
Java入门IO流--FileInputStream
1、首先我兴建了一个test.txt文本文档并输入itcast 2、从test.txt文本文档中读取其中的字符 3、编写程序是我们要读取的是字节流,因此我们需要利用InputStream中的FileInputStream类,首先应该创建一个FileInputStream类对象,通过FileInputStream(File file)构造方法打开一个实际文件的连接创建一个FileInputStre原创 2017-10-06 20:14:29 · 310 阅读 · 0 评论 -
java入门IO流--FileOutputStream&&FlieInputStream
功能描述: 1、通过FileOutputStream(File file)构造函数定义一个FileOutputStream对象。此时project所在的文件夹会自动生成一个File 的文件。 2、通过FileInputStream(File file)构造函数new一个FileInputStream对象。用途就是从前面new出来的File文件中读取其中的字节。 3、利用FileOutputSt原创 2017-10-06 21:50:09 · 471 阅读 · 0 评论 -
java入门IO流--BufferedInputStream&&BufferedOutputStream
要点: 1、BufferedInputStream是FileInputStream的一个 包装类,同样也是从文件读取数据到程序当中,读取的是字节流。BufferedInputStream与FileInputStream不同点就是BufferedInputStream对FileInputStream的对象进行一个包装(也就是给FileInputStream的对象增加了其他的功能–自带缓冲功能) 2原创 2017-10-07 11:16:50 · 263 阅读 · 0 评论 -
Java入门--main
public static void main (String[] args) 主函数:是一个特殊的函数。最为程序的入口,可以被jvm调用 主函数的定义: public:代表该函数的访问权限是最大的 static:代表主函数随着类的加载就已经存在了 void:主函数没有具体的返回值 main:不是关键之,但是是一个特殊的单词,可以被jvm识别 (String[] arr):函数的参数,原创 2017-08-17 09:25:14 · 177 阅读 · 0 评论 -
JVM--内存分配
对象首先分配在Eden区对象在新生代Eden区中分配,当Eden区中没有足够的进行分配时,虚拟机将发生一次Minor GC(新生代垃圾收集动作)大对象直接进入Survivor区大对象直接回被分配到Survivor区,大对象主要是指需要大量内存空间的Java对象,可以使用-XX:PretenureSizeThreshold设置对象分配在Survivor区中的,如果一个对象需要的内存大小超...原创 2018-09-10 01:09:41 · 353 阅读 · 0 评论