
JAVA
文章平均质量分 58
JAVA开发
philwu000
这个作者很懒,什么都没留下…
展开
-
Java:反射
反射反射是在运行状态获取类的信息,包括构造方法,成员变量,成员方法等好处:低耦合,灵活坏处:效率低当使用 new 创造一个Student对象时,JVM会加载对应类的 .class(字节码)文件,然后会为这个 Student 对象创造一个 Class 对象(只创建一次),每个 Student 对象都共享这一个 Class 对象。反射就是通过调用这个 Class 对象的方法来获取、使用 Student类的构造方法、属性、成员方法等。1.获取 Class 对象获取 Class 对象有三种方法:s原创 2021-01-10 16:06:59 · 124 阅读 · 0 评论 -
Java:Object类
Object类Object类的通用方法public native int hashCode()public boolean equals(Object obj)protected native Object clone() throws CloneNotSupportedExceptionpublic String toString()public final native Class<?> getClass()protected void finalize() thro原创 2021-01-03 21:48:02 · 113 阅读 · 0 评论 -
Java:String, StringBuilder, StringBuffer
StringString不可变。String 被声明为final,因此不可被继承,Integer等包装类也不能被继承。value[]也被声明为final,同时String内部没有改变value[]的方法,故String不可变。String内部实现JAVA8中,由char[]数组存储数据:public final class String implements java.io.Serializable, Comparable<String>, CharSequence {原创 2021-01-03 21:47:16 · 126 阅读 · 0 评论 -
Java:值传递
值传递Java中只有值传递,没有引用传递值传递,传递的是原值的副本,方法不能修改基本类型参数变量内容,典型错误:public static void main(String[] args) { int num1 = 10; int num2 = 20; swap(num1, num2); System.out.println("num1 = " + num1); System.out.println("num2 = " + num2);}pub原创 2021-01-03 21:41:18 · 127 阅读 · 0 评论 -
Java:Integer的缓存池
Integer 的缓存池JAVA8中,Integer的缓存池大小默认为 -128~127new Integer(value) 必定会创造新的对象,所以使用"=="判断两个Integer对象结果必然为false。Integer.valueOf(value)则会使用缓存池中(-128~127)的对象,多次调用会取得同一对象的引用,valueOf()方法实现如下:public static Integer valueOf(int i) { if (i >= IntegerCach原创 2021-01-03 21:40:47 · 665 阅读 · 0 评论 -
Java:抽象类和接口
抽象类和接口抽象类抽象类不能被实例化,只能被继承抽象类和抽象方法都使用abstract关键字进行声明。如果一个类中包含抽象方法,那么这个类必须声明为抽象类。public abstract class AbstractClassExample { protected int x; private int y; public abstract void func1(); public void func2() { System.out.print原创 2021-01-03 21:38:07 · 170 阅读 · 0 评论 -
Java:多线程
多线程启动 一个java程序 == 启动一个JVM进程,从而JVM的主线程调用main方法,同时main方法可以调用其他的线程创建线程的方法Thread t = new Thread();//创建一个新线程t.start();//启动线程创建一个类继承Thread类,并重写run方法(start方法内部调用了run方法)public class Main { public static void main(String[] args) { Thread t =原创 2021-01-03 21:32:14 · 112 阅读 · 0 评论 -
Java:final关键字
final关键字final 的使用修饰类、方法和变量(包括局部变量和成员变量)修饰类final修饰一个类,表示这个类不能被继承,且final类中所有的成员方法默认为final方法final修饰类用的较少,因为这和面向对象的理念有冲突修饰方法“使用final方法的原因有两个。第一个原因是把方法锁定,以防任何继承类修改它的含义;第二个原因是效率。在早期的Java实现版本中,会将final方法转为内嵌调用。但是如果方法过于庞大,可能看不到内嵌调用带来的任何性能提升。在最近的Java原创 2021-01-03 21:29:55 · 131 阅读 · 0 评论 -
Java中的“==“和equals()
==“”=="" 对于基本数据类型,比较的是值;对于引用数据类型,比较的是对象的地址例如:42 == 42.00 //tureString s1 = new String("a");String s2 = new String("a");s1 == s2;//falseString s3 = "b";//建立在常量池中String s4 = "b";//将常量池的变量赋值给s4s3 == s4;//trueequals()equals()是Object类的方法:原创 2021-01-03 21:23:29 · 129 阅读 · 0 评论