Java基础
小小小小小码农。
这个作者很懒,什么都没留下…
展开
-
Java线程的各种状态及其转换
线程的六种状态NEW线程在new创建之后但还未start()时,是new状态。Runable调用start()方法后,线程进入runable状态,其中,runable又包括Ready和Running两个状态。Ready就绪状态,等待cpu调度。Running当就绪的线程被cpu选中开始运行的时候进入Running状态。Blocked阻塞状态,受线程同步限制的,未获得锁的线程对象进入Blocked状态。Waiting 1——受syngnoi...原创 2021-10-12 19:25:40 · 139 阅读 · 0 评论 -
Java子类继承父类私有方法
在Java继承关系中,子类其实继承了父类的全部方法和属性,只是没有权限访问父类的私有成员。import java.lang.reflect.AccessibleObject;import java.lang.reflect.Method;class Father{ private String name = "father"; public Father(){} private void sout(){ System.out.println("fath原创 2021-10-12 17:12:04 · 3810 阅读 · 0 评论 -
Java基础 反射思维图
三种反射调用机制 ProcessOn Mind原创 2021-10-09 17:11:07 · 78 阅读 · 0 评论 -
Java基础 IO流思维导图
IO流 ProcessOn Mind原创 2021-09-29 11:03:14 · 299 阅读 · 0 评论 -
JVM 2.3 本地方法栈
本地方法就是被native修饰的方法。(6条消息) Java的native方法是什么_itmrchen的博客-CSDN博客_native方法是什么意思原创 2021-09-25 16:07:13 · 123 阅读 · 0 评论 -
Java基础 内部类
内部类的分类成员内部类静态内部类局部内部类匿名内部类如图,在A类中声明了另一个B类,B类就是一个内部类。class A{ class B{ }}在内部类中不能定义静态属性和方法。成员内部类内部类访问外部类属性和方法class A{ private String name = "A的名字"; private static int age = 1; public void a(){ System.out原创 2021-09-16 20:25:16 · 142 阅读 · 0 评论 -
Java基础 final关键字
final可以修饰的内容:属性,,方法,类final修饰属性final修饰的属性只能赋值一次,且不会在对象初始化的时候赋默认值,需要主动赋值。class Student { private String name; private final int age = 20; public void change(){ age = 3; //报错,已经对final赋值,不可再次赋值 }}final修饰方法final修饰的方原创 2021-09-16 15:28:59 · 51 阅读 · 0 评论 -
Java基础 创建对象的过程中,虚拟机的操作
class Test{ public static void main(String[] args) { student s = new student(); //这个语句执行过程中,虚拟机进行了两个操作 // 第一,给对象s分配内存 // 第二,对象s中name,age属性进行初始化操作,如果没有赋值语句,属性都是此数据类型的默认值 }}class student{ String name; i.原创 2021-09-15 19:33:57 · 68 阅读 · 0 评论 -
Java 方法重载
Java中方法重载发生在同一个类中,方法重载的要求是:1.方法的名称必须相同。2.方法的参数类型,个数,顺序必须不同。3.方法的返回值类型,异常范围,修饰符这些没有要求。(一般都是相同的。)class A{ public void a(){ } public void a(int i,String s){ } public void a(String s,int i){ } public void a(S原创 2021-09-15 15:12:51 · 72 阅读 · 0 评论 -
Java基础 abstract抽象
abstract可以修饰的内容:方法,类。abstract class Person{ public abstract void method();}规则:abstract修饰的方法不能有方法体,也就是{}。如果一个类中存在抽象方法,那么这个类必须声明为抽象类。抽象类中可以有非抽象方法。抽象类可以被子类继承,但不能有实例化对象。继承了抽象类的子类,可以选择实现与否父类中的抽象方法,如果没有实现父类所有的抽象方法,那么这个子类也要把自己声明为抽象类,直到抽象方法被全.原创 2021-09-16 15:46:05 · 70 阅读 · 0 评论 -
重写CompareTo
CompareTo( Object o )compare默认被当前对象调用,比较属性时可以用this.调用,而这个参数 Object o 代表前一个对象。当向Set集合中新添加一个元素的时候,这个元素会和之前集合里面的所有元素进行比较,从而选择插入的位置。compareTo方法的返回值是int类型,例如,当” this.属性 - o.属性 “返回一个正数,表示this比o大,把this排在o后面。返回负数相反。返回0,表示无所谓。以下的例子,把Teacher类的对象先按...原创 2021-09-18 17:22:55 · 3304 阅读 · 1 评论 -
Java基础 interface 接口
interface是一种引用类型,称为接口。这里的A就是一个接口。如图,接口中的方法,默认全都被public abstract修饰,全都是抽象方法。接口也默认被abstract修饰,它是抽象的。默认的关键字可以不写。如图,接口中的属性默认被public static final修饰。jdk 8 中可以在接口中编写默认方法(default,为了减少后续维护和更新中代码量庞大的问题引入)和静态方法。jdk 9 中可以在接口中编写私有方法。(我这里是jdk 8)abstrac..原创 2021-09-16 16:28:31 · 187 阅读 · 0 评论 -
Java基础 static关键字
static可修饰的内容:属性,方法,代码块。class Student{ private String name; private static int age; //修饰属性 public static void action(){ //修饰方法 System.out.println("学生爱摸????"); } static { //修饰代码块 age原创 2021-09-16 15:13:15 · 97 阅读 · 0 评论 -
Java基础 构造器中调用此类其他构造器
class Test{ public static void main(String[] args) { student s = new student(); }}class student{ String name; int age; int id; public student(){ this(1); //进入一个参数构造器 .原创 2021-09-15 19:44:47 · 109 阅读 · 0 评论 -
重写hashCode和equals
import java.util.HashSet;public class Demo { int age; String name; public Demo(int age,String name){ this.age = age; this.name = name; } @Override public String toString() { //重写toString.原创 2021-09-18 15:33:55 · 153 阅读 · 0 评论 -
Java继承中,子类对象初始化调用父类无参构造器
class Animal { Animal(){ System.out.println("调用父类无参构造器"); } Animal(int i){ System.out.println("调用父类有参构造器"); }}class Cat extends Animal{ Cat(){ System.out.println("调用子类无参构造器"); } Cat(int i){.原创 2021-09-15 15:03:22 · 520 阅读 · 0 评论 -
重写compare
compare方法中,object1代表当前对象,object2代表与当前对象进行比较的对象。当向Set集合中新添加一个元素的时候,这个元素会和之前集合里面的所有元素进行比较,从而选择插入的位置。compare方法的返回值是int类型。例如”return o1 - o2“,返回一个正数,表示o1比o2大,把o1排在o2后面。返回负数相反。返回0,表示无所谓。实例:import java.util.Comparator;import java.util.TreeSet;//.原创 2021-09-18 18:04:08 · 2626 阅读 · 0 评论 -
Java基础 instanceof 和 对象转型
class Test{ public static void main(String[] args) { Person p = new Student(); //向上转型,Student对象转为Person对象 A a = new A(); a.see(p); }}class Person{ public void like(){ }}class Student extends Person{ .原创 2021-09-15 20:00:43 · 99 阅读 · 0 评论