
java基础知识
文章平均质量分 83
在学习java时整理的一些知识点
猫不爱学习
励志成为一个优秀的coder的小白,
展开
-
工厂模式
目录工厂模式什么是工厂模式?代码示例介绍工厂模式什么是工厂模式?属于创建型模式,它提供了一种创建对象的最佳方式。在工厂模式中,我们在创建对象时不会对客户端暴露创建逻辑,并且是通过使用一个共同的接口来指向新创建的对象。代码示例public interface Shape { void draw();}class Square implements Shape{ @Override public void draw() { System.ou.原创 2020-07-02 16:50:19 · 1666 阅读 · 0 评论 -
模板模式
目录模板模式什么是模板模式?代码示例介绍模板模式什么是模板模式?在模板模式(Template Pattern)中,一个抽象类公开定义了执行它的方法的方式/模板。它的子类可以按需要重写方法实现,但调用将以抽象类中定义的方式进行。这种类型的设计模式属于行为型模式。代码示例public abstract class Game { abstract void initGame(); abstract void startPlay(); abstract void endGam原创 2020-07-02 15:59:00 · 145 阅读 · 0 评论 -
Java8语法糖之Lambda表达式
目录Lambda表达式什么是 Lambda表达式?语法例子Lambda表达式什么是 Lambda表达式?Lambda表达式是Java SE 8中一个重要的新特性。lambda表达式允许你通过表达式来代替功能接口。 lambda表达式就和方法一样,它提供了一个正常的参数列表和一个使用这些参数的主体(body,可以是一个表达式或一个代码块)。 Lambda 表达式(Lambda expression)可以看作是一个匿名函数,一段可传递的代码(将代码像数据一样进行传递)。可以写出更简洁、更灵活的代码,作为原创 2020-06-02 13:47:58 · 614 阅读 · 0 评论 -
Java面试题汇总(二)基础篇
基础篇(二)面向对象三大特征什么是多态机制?Java语言是如何实现多态的?抽象类和接口的区别抽象类能被final修饰吗面向对象三大特征继承:子类通过继承父类除构造方法外的所有东西实现代码的复用。子类拥有父类非 private的属性和方法。子类可以拥有自己属性和方法,即子类可以对父类进行扩展。子类可以用自己的方式实现父类的方法。封装:把一个对象的属性私有化,同时提供一些被外界访问的属性和方法。如果属性不想被外界访问,我们大可不必提供方法给外界访问。但是如果一个类没有提供给外界访问的方法,那么这原创 2020-05-29 17:14:17 · 588 阅读 · 0 评论 -
java面试题汇总(一)基础篇
基础篇什么是java?JVM、JRE、JDK三者的联系怎样理解java的跨平台性?Java语言的特点面向对象和面向过程的区别Java和C++的区别Oracle JDK和Open JDK的区别如何理解java的三(四)大特性继承、封装、多态、抽象?Java有哪些数据类型?switch(expt)中expt的类型?移位运算Math.round(11.5) 等于多少,Math.round(-11.5)等于多少?float f=3.4;是否正确?short s1 = 1; s1 = s1 + 1;有错吗?short原创 2020-05-28 13:10:07 · 644 阅读 · 0 评论 -
你了解泛型嘛
目录泛型为什么要有泛型?什么是泛型泛型为什么要有泛型?集合容器类在设计阶段/声明阶段不能确定这个容器到底实际存的是什么类型的对象,所以在JDK1.5之前只能把元素类型设计为Object,JDK1.5之后使用泛型来解决。因为这个时候除了元素的类型不确定,其他的部分是确定的,例如关于这个元素如何保存,如何管理等是确定的,因此此时把元素的类设计成一个参数,这个类型参数叫做泛型。什么是泛型所谓泛型,就是允许在定义类、接口时通过一个标识表示类中某个属性的类型或者是某个方法的返回值及参数类型。这原创 2020-05-23 22:54:55 · 188 阅读 · 0 评论 -
java枚举类及面试题为什么枚举实现单例模式是安全的?
目录枚举类为什么会有枚举类?枚举类的使用枚举类的常用方法枚举的构造枚举类型能被反射吗?为什么枚举实现单例模式是安全的?枚举类的优缺点枚举类为什么会有枚举类?假如说程序中有一些颜色的状态,或者说消息的类型等,在JDK1.5之前,只能用常量来进行表示public class TestEnum { public static final int RED = 1; public static final int BLACK = 2; public static final int原创 2020-05-23 00:45:56 · 2066 阅读 · 1 评论 -
swap()函数为什么不能交换Integer类型的数值引发的一系列问题及思考
先来看下面的场景:要求写一个函数交换Integer类型的a和b的值:注意这是错误的版本 public static void swap(Integer a,Integer b) { Integer t=a; a=b; b=t; } public static void main1(String[] args) { ...原创 2020-05-12 09:50:12 · 1136 阅读 · 0 评论 -
java反射机制
目录什么是反射Java反射机制提供的功能反射的基础----字节码文件双亲委派模式是什么鬼?反射的实现反射的使用反射的优缺点什么是反射Reflection (反射)是被视为动态语言的关键,反射机制允许程序在执行期借助于ReflectionAPI取得任何类的内部信息,并能直接操作任意对象的内部属性及方法。加载完类之后,在堆内存的方法区中就产生了一个Class类型的对象(一个类只有一个Class对象),这个对象就包含了完整的类的结构信息。我们可以通过这个对象看到类的结构。这个对象就像一面镜子,透原创 2020-05-22 23:10:10 · 386 阅读 · 0 评论 -
深入理解对象的克隆及深浅拷贝
目录克隆对象为什么要用克隆?克隆的两种方式浅克隆:实现 Cloneable 接口并重写 Object 类中的 clone()方法;clone()方法下进行深拷贝:new 一个对象和clone一个对象的区别深克隆:实现 Serializable 接口,通过对象的序列化和反序列化实现克隆,可以实现真正的深度克隆,深浅拷贝浅拷贝(Shallow Copy)浅拷贝的实现方式:深拷贝(Deep Copy)...原创 2020-04-08 23:21:34 · 344 阅读 · 0 评论 -
java对象的比较
目录java对象的比较方法一:重写基类的equals方法方法二:基于comparable接口的比较方法三:基于比较器的比较三种方式的对比java对象的比较我们知道Java中基本类型及其所对应的包装类都可以直接比大小,那么我们自定义类型可以直接比大小吗?结果是不可以,因为标准库不知道类对象里有哪些成员,该找那个成员进行比较。(标准库:java语言定义的规则,大家通过这个规则来操作数据)那么该...原创 2020-03-24 23:25:52 · 187 阅读 · 0 评论 -
java中Integer和int类型
目录Integer的介绍常用方法类型比较int与int比较int与Integer比较Integer与Integer比较Integer的介绍public final class Integer extends Number implements Comparable<Integer> Integer类包装一个对象中的原始类型int的值。 类型为Integer的对象包含一个单一字...原创 2020-03-16 01:12:48 · 879 阅读 · 0 评论 -
异常
异常1、异常的分类1、Throwable是所有异常的父类,派生出了两个子类Error、Exception.2、Error指的是java运行时内部错误和资源耗尽,应用程序不抛出此类异常。3、Exception是我们所使用异常的父类4、Java语言规范将派生于 Error 类或 RuntimeException 类的所有异常称为 非受查异常, 所有的其他异常称为 受查 异常.受查异常必须显示...原创 2019-12-13 17:59:17 · 174 阅读 · 0 评论 -
内部类
内部类在java中一个类定义到另一个类或方法里面这样的类称为内部类。分为四种, 实例内部类、静态内部类、 匿名内部类 、本地内部类1、 实例内部类class OutClass { public int data1=100; public static int data2=200; public int data3=999; class InnerClass...原创 2019-12-12 19:49:29 · 107 阅读 · 0 评论 -
String类
String1、创建字符串 方式一 String str = "abcde";//直接赋值 方式二 String str2 = new String("abcde");//调用构造方法 方式三 char[] array = {'a', 'b', 'c'}; String str3 = new String(array); 2、观察下列代码输出理解字符串内存布局,String...原创 2019-12-04 17:17:33 · 95 阅读 · 0 评论 -
抽象类和接口的总结
一、抽象类1、什么是抽象类包含抽象方法的类基本语法:⬇abstract class shape{ abstract public void draw();}2、语法规则1、抽象类不能有方法体,即{},不能执行具体代码2、抽象方法不能被实例化(不能new)3、抽象方法不能是私有的(因为抽象类要被继承)4、抽象类中可以包含其他的非抽象方法,也可以包含字段,这个非抽象...原创 2019-11-16 23:48:10 · 353 阅读 · 0 评论 -
多态
多态1、何为多态?字面意思就是同一个实体具有多种形式。1、向上转型将子类的值赋给父类三种形式:直接赋值 、方法传参、 方法返回(1)直接赋值将子类的值赋给父类class Animal { public String name; public String sex; public Animal(String name, String sex) ...原创 2019-11-14 00:55:01 · 329 阅读 · 0 评论 -
继承
继承is-a子类获得父类除构造方法外的所有东西(属性和方法或者重新定义、追加属性和方法等。)作用:实现代码复用//基本语法class 子类 extends 父类 { }父类又称基类,超类子类又称派生类子类拥有父类的特征,而父类没有,父类更通用,子类更具体,(特征包括属性和方法,自身的特性,拥有父类没有的)基类只能访问自己的成员/方法,子类可以访问基类的,因为它继承了...原创 2019-11-12 17:03:42 · 165 阅读 · 0 评论 -
类和对象
类和对象:1、关于面向对象:是一种思考问题的方式,一种思想,处理大问题,(c语言处理的小问题)它注重的是对象。2、oop:指的是面向对象程序设计语言,我们所学的java就是一个典型的面向对象语言,它的三大特性:继承性,多态性,封装性。3、什么是类,什么是对象?简单来说类就是一个模板,而对象则是由模板产生的样本(比如做月饼的模子是一个类,而通过模板可以做出月饼,月饼是一个实体,也就是对象,一...原创 2019-10-27 19:51:09 · 142 阅读 · 0 评论 -
java数组总结
数组相同数据类型的集合并且内存是连续的、1、定义一个一维数组:int []arr={1,2,3,4,5}; int []arr2=new int[]{1,3,4,5,6}; int []arr3=new int[5] //new 产生一个对象 ”引用“用来存放对象的地址; 2、数组长度:数组名.length(是数组的属性...原创 2019-10-19 17:41:41 · 291 阅读 · 0 评论 -
java与运算符
**基本四则运算符 + - * / %**注意 / :除数不能为零% 取模不同于c语言,可以对小数进行取余//10.0%1.5=1;*增量赋值运算符 += -= = /= %=自增/自减运算符 ++ -int a = 10; int b = ++a; System.out.println(b); //输出11int c = a++; System.out.printl...原创 2019-10-08 23:51:15 · 131 阅读 · 0 评论 -
java变量基本知识点
Java 一次编译,到处运行,是一个移植性超强的语言1、Java变量和类型//java定义变量时必须初始化int a=10;//int 是一个整型变量,占四个字节,不分系统(1个字节=8个比特) 1、在Java数据类型中只有有符号数据《除了,,》 2、Integer.MAX-VALUE是int最大值 Integer.MIN_VALUE是int最小值 3、integer是java自己的类,int...原创 2019-09-25 21:27:53 · 355 阅读 · 0 评论