Java
Bless___
这个作者很懒,什么都没留下…
展开
-
Java 装箱与拆箱
自动装箱和拆箱自动拆箱和装箱是JDK5之后才有的,它方便了基本数据类型和其包装类之间的转换。将一个基本数据类型的数据赋值给他的包装类称为装箱;反之,将基本数据类型包装类的一个数据赋值给其基本数据类型称为拆箱,这些过程都不是我们手动进行的,所以我们称其为自动装箱和拆箱。public class Test{ public static void main(String[] args){ ...原创 2019-11-13 13:39:57 · 112 阅读 · 0 评论 -
Java中throw throws关键字
throwthrow用于抛出具体异常类的对象,一般用于方法体中。什么时候使用:当所写代码不满足某些条件致使程序无法运行时可以借助throw抛出一个异常对象提醒程序员。public class Student { private int age; public int getAge() { return age; } public void setAge(int age...原创 2019-11-06 17:21:11 · 746 阅读 · 0 评论 -
Java中try catch语句
Java中处理异常的方式有两种:一种是使用try、catch和finally关键字捕获异常一种是通过throw和throws关键字抛出异常这里主要详述一下捕获异常捕获异常语法结构:try{ //可能抛出异常的语句块}catch(SomeException1 e){//SomeException1特指某些异常 //当捕获到SomeException1类型的异常时执行语句块}cat...原创 2019-11-06 15:56:43 · 1033 阅读 · 0 评论 -
Java this关键字总结
Java中this关键字代表对当前对象的一个引用,this用来调用属性、方法以及本类中的构造方法。下面我们通过几个例子来详述一下this的用法:public class Student{ String name; void doHomework(){ System.out.println(this.name+"正在做作业"); } void speak(){ new Stude...原创 2019-11-04 18:04:35 · 178 阅读 · 0 评论 -
Java中值传递与引用传递
值传递是指在调用函数时将实际参数复制 一份传递到函数中,这样如果在函数中对参数进行修改,将不会影响到实际参数。例如:public static void main(){ int x = 12; System.out.println(x);//输出12 t(x); System.out.println(x);//这里输出的还是12 //只是将x的值传递给了y,y=...原创 2019-11-01 18:23:25 · 113 阅读 · 0 评论 -
Java中四种访问权限
Java中的四种访问权限分别为:public、protected、有好的(默认的)、private他们的访问权限是依此降低的。如图:其中public和private很好记,这里也不过多描述public是最高的访问权限,不管什么情况都可以访问其修饰的属性和方法private是最低的访问权限,只有在本类中才可以访问其修饰的属性和方法主要说一下protected和友好的:首先说一下友...原创 2019-11-01 11:21:27 · 599 阅读 · 0 评论 -
Java String类中equals与==的区别
String类中,==用来判断两个字符串的地址是否相同,而equals用来判断两个字符串的内容是否完全相同。public class Test{ public static void main(String []args){ //我们先定义三个字符串类型的变量 String str1 = "123"; String str2 = "123"; String str3 = new...原创 2019-10-30 17:21:31 · 275 阅读 · 0 评论 -
详述Java中创建String类对象
String类是引用数据类型,其实例化的方式有两种:直接赋值,语法规则如下:public class Test{ public static void main(String []args){ String name = "小明";//直接赋值 System.out.println(name);//输出小明 }}构造方法实现其实例化,如下:public...原创 2019-10-30 16:33:22 · 277 阅读 · 0 评论 -
Java中Lambda表达式
Java支持Lambda表达式始于Java8,它的出现简化了函数式接口匿名内部类的语法(注意两个条件分别为函数式接口和匿名内部类),其语法表达式如下:([参数1],[参数2],...[参数n])- >{代码块}如果方法没有返回值且只有一行代码,则Lambda表达式语法可以是:([参数1],[参数2],...[参数n]) - > 单行语句若方法有返回值且只有一行代码则Lamb...原创 2019-10-29 19:16:32 · 88 阅读 · 0 评论 -
Java中内部类
什么是内部类内部类是指在一个外部类内定义的类。如图:public class Body{//外部类 class Heart{//内部类:定义在外部类中的类 public void work(){ System.out.println("正在跳动"); } }}内部类的分类可以分为静态内部类和非静态内部类用static修饰的内部类为静态内部类,没有static修饰的内部...原创 2019-10-29 18:45:40 · 73 阅读 · 0 评论 -
手写简易HashMap
/** * 自定义简单HashMap * * @author 孙昊 */public class ShHashMap<K,V> { Node<K,V>[] table;//位桶数组 int size;//存放键值对个数 //构造方法:定义一个长度为16的数组(长度需要是2的整数次幂,按位与的散列算法需要这样的条件) public ShHashMap...原创 2020-03-29 11:27:04 · 157 阅读 · 0 评论 -
Java HashSet类中的add方法
public class Test{ public static void main(String[] args){ HashSet<String>set = new HashSet<>(); //调用HashSet无参构造方法,为HashSet类中HashMap类型的全局变量赋值 set.add("Tom");//map.put(e,PRESENT),H...原创 2019-11-11 16:27:46 · 308 阅读 · 0 评论 -
Java中ArrayList类contains方法详述
contains(Object o) 如果列表包含指定的元素,则返回 true这里他的基本用法我们不再演示我们来研究一下他的底层代码:public boolean contains(Object o) { return indexOf(o) >= 0;}//再进入indexOf方法------------------------------------------...原创 2019-11-08 19:05:05 · 280 阅读 · 0 评论 -
重写equals()方法就尽量重写hashcode()方法的原因
equals方法与hashcode方法都是Object类中的方法。我们就先来看一下这两个方法的源码:如上面两张图所示,hashcode()是一个本地native方法,返回的是对象引用指向该对象的内存地址。而equals()方法也比较的是两个对象的地址是否相同。那么为什么我们重写equals()方法就要尽量重写hashcode()方法呢?原因在hashcode()方法的文档注释中已经...原创 2020-03-28 00:17:10 · 245 阅读 · 0 评论 -
Java中instanceof运算符
instanceof运算符用于判断该运算符前面引用类型变量指向的对象是否是后面类,或者其子类,或者接口实现类创建的对象。如果是则返回true、否则返回false。使用格式如下:引用类型变量 + instanceof +(类、抽象类或接口);instanceof运算符用于强制类型转换之前检查对象的真实类型以避免类型转换异常,从而提高代码健壮性。...原创 2019-10-28 16:59:51 · 183 阅读 · 0 评论 -
Java中抽象类、接口以及他们的区别
我们在说抽象类和接口的区别之前,我们先说一下什么是抽象类以及什么是接口。什么是抽象类在多态中,父类被重写方法的方法体是多余的,所以我们舍去父类方法的方法体之后就形成了抽象方法;因为该类中拥有抽象方法,所以该类必须为抽象类。我们用abstract来修饰抽象方法以及抽象类,例如下面就是包含一个抽象方法的抽象类。public abstract class Person{ public abst...原创 2019-10-28 16:26:33 · 221 阅读 · 0 评论 -
Java中的重写
什么是重写子类可以继承父类方法,但有时从父类继承的方法在子类中必须进行修改以适应新类的需要,这种对父类方法进行改写或改造的现象称为方法重写或方法覆盖。父类方法在子类中重写使继承更加灵活。子类重写了父类的方法,则使用子类创建的对象调用该方法时,调用的是重写后的方法,即子类中的方法。@Override注解可以判断当前方法是否重写了父类的某个方法,如果在方法上加上该注解没有出错,则说明重写了父类方...原创 2019-10-28 10:04:55 · 329 阅读 · 0 评论 -
Java中什么叫多态
多态的描述先放个图看一下:我们可以看到声明mammal变量的类型是Mammal类,但是运行时实际使用的方法却是Pig类的,这里我们可以引出多态的定义:父类类型(Mammal)的变量(mammal),指向子类创建的对象(new Pig()),使该变量调用父类中一个被子类重写的方法(move),则父类中的方法呈现出不同的行为,这就是多态。Java引用变量有两种类型:一种是编译时类型一种是运行...原创 2019-10-25 17:43:35 · 634 阅读 · 0 评论 -
父类对子类构造方法的影响
在继承中,父类对子类构造方法有什么影响如果父类拥有无参构造方法(无论是显式还是隐式),且子类中的构造方法没有明确指定调用父类的中的哪个构造方法,且没有调用本类中的其它构造方法(调用本类中的构造方法会用到this关键字,this和super都需要放在第一排),那么该构造方法将会使用super();隐式调用父类的无参构造方法。super关键字是用来调用父类相关内容的,这里我调用一个父类有参数构...原创 2019-10-25 16:31:46 · 152 阅读 · 0 评论 -
详述Java语言构造方法
一、为什么需要构造方法如public class Student{ int age; String name; String address; public void introduce(){ System.out.println("大家好,我叫"+name+"我今年"+age+ "岁了, 我家住在"+address); } public static void m...原创 2019-10-24 16:38:57 · 252 阅读 · 0 评论 -
按位运算符与逻辑运算符的区别
按位运算符位运算是将数据先转化为二进制补码的形式,再逐位按规则进行计算。按位与运算符‘ & ’ ,规则,全1为1,否则为0按位或运算符‘ | ’,规则,全0为0,否则为1按位非运算符‘ ~ ’ ,规则,遇1为0,遇0为1按位异或运算符‘ ^ ’,规则 相同为0,不同为1注意!按位异或运算是可逆的,对一个数据进行两次异或运算之后,结果会还原例如:3^5=6; 6^5=3;...原创 2019-10-22 20:39:26 · 6361 阅读 · 0 评论 -
Java的8种基本数据类型
Java的数据类型Java的数据类型可以分为两大类:1.基本数据类型:byte short int long char float double boolean2.引用数据类型:类、接口、数组、枚举、注解今天我学习8种基本数据类型8种基本数据类型分别是 byte short int long char float double boolean可以把他们分为四大类一、整数类型:byt...原创 2019-10-22 19:15:42 · 406 阅读 · 0 评论 -
Java程序运行原理
下面是Java程序运行原理图首先,我们的源程序是 .java 类型的程序,我们首先通过javac命令编译源程序(Java编译器),这里不是直接编译成机器码,而是得到 .class 类型的字节码。后面几步都是通过java命令(Java虚拟机)来完成的,先经过类装载器,把内容装载到内存中,然后读取内存中的内容对其进行校验以及翻译,最后转化成二进制格式的机器语言,最后由操作系统平台执行。正是因为...原创 2019-10-21 14:12:22 · 260 阅读 · 0 评论 -
Java注释
三种Java注释Java语言的注释一共有三种,分别是单行注释、多行注释以及文档注释,注释可以增加代码的可读性,方便阅读。第一种—单行注释//…单行注释只能注释一行的内容,通常用在注释内容少的地方。例如://控制台输出语句hahaSystem.out.println("haha");第二种—多行注释/* … */顾名思义多行注释可以注释很多行的内容,但也可以注释一行内容。/...原创 2019-10-21 13:37:39 · 199 阅读 · 0 评论 -
详述Java语言方法(类和对象、属性和方法)
Java语言方法一、对象和类1.什么是对象和类Java语言中的对象是对现实世界中对象的模拟,现实中的对象存在于现实生活中,Java语言中的对象存在于计算机内存中。 Java语言中的对象又称实例。要全面地认识Java中的对象就要知道他的信息以及功能(能干什么)。Java中的对象也是如此,只是叫法不同:Java中将现实对象中的信息称为属性(也叫全局变量),将现实对象中的功能称为方法。例如...原创 2019-10-24 15:21:10 · 710 阅读 · 0 评论