
Java_基础
Chill_Lyn_
进化成更好的人。
展开
-
Java_lambda表达式详解
文章目录使用要求函数式接口基础语法多参数无返回一个参数无返回无参数无返回多参数有返回一个参数有返回无参数有返回常用引用方法构造方法引用创建线程遍历集合删除集合中元素集合中元素排序闭包问题转自https://www.cnblogs.com/haixiang/p/11029639.html使用要求接口中只能有一个需要被实现的方法,default方法有默认实现。函数式接口基础语法多参数无返回/**多参数无返回*/@FunctionalInterfacepublic interface No转载 2020-08-17 17:55:00 · 671 阅读 · 0 评论 -
Java_时间与日期(JDK8)
/** * 获取时间戳 */public static void getInstant() { Instant instant=Instant.now(); System.out.println(instant.getEpochSecond()); System.out.println(instant.toEpochMilli());}/** * 打印昨天当前时刻 */public static void getYesterday() { LocalDat原创 2020-05-20 14:57:17 · 227 阅读 · 0 评论 -
Java_标识接口
原文链接:https://blog.youkuaiyun.com/weixin_43808677/article/details/87971487如果接口内部没有声明任何方法,则它仅仅充当一个标识的作用,用来表明实现它的类属于一个特定的类型。java.io.Serializable:未实现此接口的类将无法使其任何状态序列化或反序列化.为保证 serialVersionUID 值跨不同 java 编译器实现的一致性,序列化类必须声明一个明确的 serialVersionUID 值.java.lang.Clonea转载 2020-05-19 17:29:01 · 245 阅读 · 0 评论 -
Java_创建对象的四种方式
new对象实例反射对象流序列化clone()import lombok.AllArgsConstructor;import lombok.Data;import lombok.NoArgsConstructor;import java.io.*;public class CreateObject { public static void main(String[] args) { //1.直接new一个person对象 Person p1 = .原创 2020-05-19 17:11:28 · 263 阅读 · 0 评论 -
Java_关键字
关键字总览访问权限控制:private、protected、public类,方法和变量修饰符:abstractclassextendsfinalimplementsinterfacenativenewstaticstrictfpsynchronizedtransientvolatile程序控制breakcontinuereturndowhileifelseforinstanceofswitchcasedefault错误处理trycatchthro转载 2020-05-19 11:06:06 · 378 阅读 · 0 评论 -
Java_函数式接口&Stream流式计算
文章目录函数式接口流(Stream)特点操作阶段demo函数式接口//R apply(T t);函数型接口,一个参数,一个返回值Function<String,Integer> function = t ->{return t.length();};System.out.println(function.apply("abcd"));//boolean test(T t);断定型接口,一个参数,返回booleanPredicate<String> predica原创 2020-05-11 07:33:37 · 396 阅读 · 0 评论 -
Java_接口是否继承自Object类
不是通过两个方式来验证通过getSuperclass方法查看某个接口的父类是否存在或者为Object类通过getMethods方法查看接口中的方法是否继承了Object类的方法package interfaceTest;public interface TestInterface { void test();}package interfaceTest;import ...原创 2019-12-22 22:29:46 · 1278 阅读 · 0 评论 -
Java_Object类中有哪些方法?
getClass:返回类的Class对象hashCode:返回对象hash值equals:判断两个对象是否相等clone:复制一个对象toString:以字符串形式表示一个对象notify:唤醒一个等待操作该对象的线程notifyAll:唤醒所有wait:暂停当前线程finalize:垃圾回收时调用...原创 2019-12-22 21:50:34 · 200 阅读 · 0 评论 -
Java_十万个为什么之内部类
常规内部类Q:常规内部类能否使用外部类的属性和方法?A: 可以Q:外部类能否使用常规内部类的属性和方法?A:可以,但必须创建内部类对象,通过内部类对象使用内部类的属性和方法,包括private权限的。Q:如何创建一个常规内部类对象?A:Outter o=new Outter();OUtter.Inner i=o.new Inner();Q:常规内部类可是定义静态属性吗?A:不...原创 2019-12-22 12:37:51 · 182 阅读 · 0 评论 -
Java_定义一个变量i,使while((i+1)==(i+1)){}循环可结束
将i定义成一个字符串类型变量。因为字符串类型与整型相加会重新生成一个字符串对象,而字符串对象之间用==比较,比较的是两个字符串对象在堆中的地址,所以是不相同的。...原创 2019-12-18 22:16:22 · 634 阅读 · 0 评论 -
Java_static关键字的作用
static关键字是一个修饰符修饰属性,静态属性,所有对象共享,在类初始化时初始化一次修饰方法,静态方法,归类所有,直接用类名调用,不能使用关键字this修饰代码块,在类初始化时执行一次修饰内部类,静态内部类,创建时不需要外部类对象,只能使用外部类中的静态数据静态导入,import static java.lang.Math.*...原创 2019-12-18 20:02:08 · 151 阅读 · 0 评论 -
Java_抽象类和接口的区别
接口声明时为interface,被实现时使用关键字implements;抽象类声明时为abstract class,被继承时使用关键字 extends接口的属性都为被public static final 修饰的静态常量,抽象类的属性则不必接口的方法都为被public abstract 修饰的抽象方法,抽象类中方法不一定为抽象方法接口与接口之间可以多继承,类与接口之间可以多实现,类与抽象类...原创 2019-12-18 19:39:02 · 119 阅读 · 0 评论 -
Java_如果去掉main方法的static修饰符会怎样?
题目代码化:package com.test;public class Test { public void main(String[] args) { System.out.println("test"); }}结果:通过powershell再来验证一下:正常编译,运行报错...原创 2019-11-17 22:35:54 · 6044 阅读 · 0 评论 -
Java_Math.round()方法取整规则:+0.5向下取整
package roundTest;public class RoundTest { public static void main(String[] args) { //规则:+0.5,向下取整 System.out.println(Math.round(-1.5));//-1.5+0.5=-1,向下取整-1 System.out.println(Math.round(-1.5...原创 2019-11-05 19:42:14 · 4228 阅读 · 0 评论 -
Java_声明变量时,static final 权限符排序是否有区别?
没有题目代码化:package finalTest;public class Test { public final static int MAX=100; final public static int MIN=0; public static final int MEDIUM=50; static public final int HELLO=99;}以上这几种写法都是...原创 2019-11-03 13:31:21 · 143 阅读 · 0 评论 -
Java_子类定义一个方法,与父类的方法名、参数列表相同,但返回值类型不同,程序是否异常?
会异常题目代码化:package overrideTets;class Super { public int getLength() { return 4; }}public class Sub extends Super { public long getLength() { return 5L; } public static void main (Str...原创 2019-11-03 11:23:14 · 5755 阅读 · 0 评论 -
Java_以下返回true的字符串表达式有?"test"=="test"?"test"="test"?"test".equals(new String("test"))?"test"==(new St
题目代码化:package StringTest;public class Test { public static void main(String[] args) { System.out.println("test"=="test");//A System.out.println("test"="test");//B System.out.println("test".e...原创 2019-11-02 10:06:20 · 1264 阅读 · 0 评论 -
Java_常见的RuntimeException
ArithmeticException:算数异常,如果除数为0时。ArrayStoreException:对象数组存入元素时类型不匹配。ClassCastException:对象转换异常ConcurrentModificationException:常出现在迭代器遍历时修改元素DateTimeException:构建日期时异常DOMException:DOM异常IndexOutOfB...原创 2019-10-26 22:48:38 · 156 阅读 · 0 评论 -
Java_super.getClass()方法调用
以下这段代码的结果是什么?public class GetClassTest extends Thread{ public static void main(String[] args) { Thread t=new GetClassTest(); t.start(); } @Override public void run() { System.out.println...原创 2019-10-26 21:49:11 · 229 阅读 · 0 评论 -
Java_定义一个圆类,提供输出面积和周长的方法,定义一个测试类使用
代码1import static java.lang.Math.PI;import static java.lang.Math.pow;/** * @author Chill Lyn * 定义一个圆类 * 内部提供一个属性半径r * 提供两个方法计算面积和周长并输出 * 定义一个测试类使用 * */class Circle4 { double r; public Ci...原创 2019-07-09 20:43:33 · 17109 阅读 · 0 评论 -
Java_跳出多重嵌套循环的4种方式
Method1:定义标号package breakFor;public class Test1 { public static void main(String[] args) { test: for(int i=0;i<10;i++) { for(int j=0;j<10;j++) { System.out.print(j); if(j=...原创 2019-10-26 17:27:07 · 270 阅读 · 0 评论 -
Java_&和&&的区别
&逻辑运算符,当其两边为Boolean类型且同为true时,结果为true。位运算符,同为0或同为1时,结果为1&&逻辑运算符 具有短路功能,如果前边表达式结果为false则后边表达式不执行...原创 2019-10-26 17:06:29 · 1250 阅读 · 0 评论 -
Java_RuntimeException和其他普通Exception的区别
RuntimeException运行期异常,编写java代码是不必须抛出或捕获处理异常,运行时发生异常系统会会执行缺省的异常处理。other Exception除去运行期异常就是编译期异常了,要求在编写java代码时必须做出相应的异常处理。...原创 2019-10-26 10:39:27 · 248 阅读 · 0 评论 -
Java_反射(Reflection)与序列化(Serialization)
反射反射是Java被视为动态语言的一个关键性质。反射机制允许程序在运行时通过反射的方法取得任何一个已知类名的类的信息,包括属性,方法,构造器等,并可以通过反射修改属性和调用方法。通过反射获取类的三种方式:Class.forName(包名+类名);会加载类类名.class 不会加载类对象.getClass();通过反射创建对象的两种方式:Class对象的newInstance()...原创 2019-10-22 23:09:23 · 1153 阅读 · 0 评论 -
Java_try {}里有一个return语句,那么紧跟在try后的finally{}是否执行?执行次序?如果finally{}中也存在return语句,哪个return为准?
题目实现:package trycatchTest;public class TrycatchTest { public static void main(String[] args) { System.out.println(func()); } public static int func() { int i=1; try { return i; }fin...原创 2019-10-20 22:27:53 · 372 阅读 · 0 评论 -
Java_switch可以作用于byte吗?可以作用于boolean,long,和String 吗?
可作用于char,byte,short,int这些≤int类型的变量也可以作用于字符串和枚举不可以作用于布尔类型和>int类型的变量原创 2019-10-20 22:09:57 · 387 阅读 · 0 评论 -
Java_将字符串中所有的old part替换为new part
package replaceTest;public class Replace { //将字符串中所有的old part替换为new part /* * 遍历字符串, * 判断当前位是否以old part开始, * 如果不是,将当前位append StringBuilder中 * 如果是,则将new part append StringBuilder中,遍历索引i跳过ol...原创 2019-10-20 17:48:16 · 409 阅读 · 0 评论 -
Java_String str=new String("a"+"b")创建了几个对象
两个"abc"在字符串常量池创建,这是第一个对象new String(),在堆中分配内存,里面存着这字符串"abc"在字符串常量池中的地址,这是第二个对象str 存储在栈中,里面存储着指向堆中new String()的地址如果以 String str=“abc"这种方式创建字符串,则只产生一个对象,即字符串常量池中的"abc”,栈中的str中存储着直接指向字符串常量池中的"abc"的地...原创 2019-10-20 17:47:51 · 4307 阅读 · 0 评论 -
Java_构造器是否可以被重写
不可以重写意味着发生了继承,子类重写父类的方法,然而构造器的方法名必须与类名相同,显而易见的是,子类和父类的类名一定不相同,所以构造器不可被重写。...原创 2019-10-20 17:47:24 · 669 阅读 · 0 评论 -
Java_定义两个变量a和b,不使用第三个变量,使两个值交换
public class Test{ public static void main(String[] args) { swap(5,6); } public static void swap(int a,int b) { System.out.println(a+" "+b); a+=b; b=a-b; a=a-b; System.out.println(a+"...原创 2019-10-20 17:46:39 · 1115 阅读 · 0 评论 -
Java_Error、Exception的区别和联系
联系两者都是Throwable的子类,用来处理异常。区别Error:表示一种难以依靠程序处理就可以恢复正常的严重问题。Exception:表示一种程序设计或实现的问题,如果程序正常运行则不会出现这些问题,一旦出现了这些问题,可以捕获并处理这些异常。...原创 2019-10-20 17:45:59 · 156 阅读 · 0 评论 -
Java_如何通过反射得到一个类的私有方法
测试类1package reflectPrivateMethod;public class Test1 { //私有方法 private void func1() { System.out.println("this is a private method!"); }}测试类2package reflectPrivateMethod;import java.lang....原创 2019-10-20 17:45:30 · 445 阅读 · 0 评论 -
Java_抽象类能否实例化?抽象类能否不包含抽象方法?抽象类能否继承自实体类?
抽象类能否实例化?不能,抽象类存在的意义是作为规范的存在,但需要注意的是,抽象类存在构造器。抽象类能否不包含抽象方法?可以,抽象类中可以不包含抽象方法,但是包含抽象方法的类必须声明为抽象类。抽象类能否继承自实体类?可以,在实现上并没有什么冲突。...原创 2019-10-20 17:42:05 · 666 阅读 · 0 评论 -
Java_重载(Overload)和重写(Override)的区别,与多态的关系
重载(Overload)在同一类中,方法名相同,参数列表(参数类型,顺序,数量)不同,与返回值无关,称为方法的重载,有些地方也称之为静态地多态。重写(Override)在继承关系中,子类中方法与父类方法同名,参数列表相同,返回值相同,且权限不能缩小,称为方法的重写,有些地方称之为动态的多态。多态不同对象调用同一方法产生不同的响应。必要条件:发生继承父类引用指向子类对象方法重写...原创 2019-10-19 13:08:35 · 193 阅读 · 0 评论 -
Java_权限:public、protected、default、private
同一类中同一包中不同包中子类不同包中不同项目中public√√√√×protected√√√××default√√×××private√××××原创 2019-10-19 12:44:58 · 108 阅读 · 0 评论 -
Java_String、StringBuilder、StringBuffer的区别
StringString 不可变字符串StringBuilder可变字符串线程不安全StringBuffer可变字符串线程安全原创 2019-10-19 12:20:57 · 96 阅读 · 0 评论 -
Java_final、finalize、finally的区别
finalfinal是一个修饰符,当其修饰变量是,表示常量;当其修饰方法,该方法不能被重写;当其修饰类时,该类不能被继承。finalizefinalize是一个方法,在对象被垃圾回收前执行,且只执行一次。垃圾回收过程中,当一个对象根据可达性分析法被判定需要回收时,这时会判断该对象是否有必要执行finalize方法。如果该对象没有重写finalize方法或者重写过finalize方法并且已经...原创 2019-10-19 10:52:05 · 117 阅读 · 0 评论 -
Java_局部变量和成员变量的区别
拓展参考Java_类的生命周期(类初始化、对象实例化、垃圾回收等理论知识结构)原创 2019-10-16 22:56:23 · 160 阅读 · 0 评论 -
Java_反射
原创 2019-10-15 20:26:17 · 121 阅读 · 0 评论 -
Java_如果系统要使用超大整数(超过long长度范围)设计一个数据结构来存储这种超大型数字以及设计一种算法来实现超大整数加法运算
package overLongNum;/* * 如果系统要使用超大整数(超过long长度范围), * 请你设计一个数据结构来存储这种超大型数字 * 以及设计一种算法来实现超大整数加法运算) * * 思路: * 用字符串来存储超大整数 * 首先将两个数的位数用0补齐 * 然后遍历相加,每位数和大于10,进位1,该位为和-10 * 如果sum<10,进位0,该位为sum...原创 2019-10-14 19:05:42 · 1628 阅读 · 1 评论