
Java
Java知识学习,总结
JHL123123
写写生活感悟
展开
-
Java-开发团队调度软件
一、基本介绍 该项目是尚硅谷中JavaSE项目三,涉及内容有继承、异常、多态、接口等知识。 1、主界面 主界面如上图所示,主要关注点:职位、状态、奖金、股票、领用设备。 2、团队列表 团队成员现在包含ID是2的职员,具体显示属性和主界面也有所不同。 3、代码模块 domain中定义的职员和设备信息,其中Employee是Programmer的父类,Programmer是Designer的父类,Designer是Architect的父类,依次继承;Equipment是接口类,NoteBook、PC、Pr原创 2021-06-08 00:27:19 · 401 阅读 · 0 评论 -
Java-异常处理
一、概念 1、程序执行过程中发生的不正常情况称为“异常”。 2、分为两类: 1)Error:Java虚拟机无法解决的严重问题,如JVM系统内部错误、资源耗尽等,StackOverflowError和OOM。 2)Exception:其它因编程错误或偶然的外在因素导致的一般性问题,有编译时异常和运行时异常, 编译时异常包含:IOException、ClassNotFoundException; 运行时异常包含:NullPointerException、ArrayIndexOutofBoundsExceptio原创 2021-06-06 16:33:59 · 74 阅读 · 0 评论 -
Java-内部类
1、概念 在一个类的内部定义类,前者称为外部类,后者称为内部类。 2、分类 2.1 成员内部类(静态、非静态) (1)作为外部类的成员; (2)也可以定义属性、方法、构造器等,可以被final修饰; (3)非静态成员内部类可以调用外部类的非静态方法,外部类名.this.非静态方法名; (4)可以被static,四种权限修饰符进行修饰。 (5)如何去实例化成员内部类对象? 创建静态成员内部类对象: 外部类名.内部类名 a = new 外部类名.内部类名(); 创建非静态成员内部类对象: 先实例化外部类对象,在原创 2021-06-05 01:00:36 · 101 阅读 · 0 评论 -
Java-接口
接口 1、概念 接口就是规范,定义的是一组规则,本质是契约,标准,规范。 2、使用 用interface来定义,Java中类和接口是并列的结构 3、如何定义接口 3.1 JDK7及以前 定义全局常量,public static final的,书写时可以省略; 定义抽象方法,public abstract; 3.2 JDK8 除了上述,还可以定义静态方法、默认方法。 注: (1)接口中无法定义构造器,意味着无法实例化接口; (2)如果实现类覆盖了接口中的所有抽象方法,则此实现类就可以实例化; 否则,此实现类仍原创 2021-06-04 17:21:15 · 90 阅读 · 0 评论 -
Java-抽象类、抽象方法
抽象类、抽象方法 抽象类没有具体的实例,非常抽象。abstract可以用来修饰类和方法。 abstract修饰类: (1)此类不能实例化; (2)抽象类一定有构造器,便于子类实例化时进行调用; (3)使用时,提供子类来实例化,完成相关的操作。 abstract修饰方法: 例如:public abstract void solve(); (1)没有方法体; (2)包含抽象方法的类一定是抽象类,反之,抽象类中可以没有抽象方法; (3)如果子类继承抽象类,要么子类需要重写抽象类中的所有抽象方法,要么子类需要声明成原创 2021-06-04 15:57:34 · 93 阅读 · 0 评论 -
Java-static
static 1、修饰属性 1)static修饰的变量称为静态变量(类变量),共享同一个空间,多个对象共享同一个静态变量。 2)静态变量随着类加载而加载。静态变量要早于对象的创建。 3)非静态属性称为实例变量。 注:不能通过类来调用实例变量。 2、修饰方法 1)随着类的加载而加载,可以通过类名.方法名进行调用static方法。 2)静态方法只能调用静态的方法和属性;非静态方法既可以调用非静态的方法和属性,也可以调用静态的方法和属性。 注:静态方法中不能使用this,super,主要就是考虑生命周期。 如何确原创 2021-06-01 14:13:52 · 89 阅读 · 0 评论 -
Java-包装类
1、包装类理解 有了int、double这些,为什么还要有相对应的包装类呢? 因为int、double不是类,不能够通过实例化对象来调用方法,将其包装成Integer、Double可以使用相应的方法,可以有继承、有多态,符合面向对象的思想。 2、基本数据类型、包装类、String之间转换 基本数据类型—>包装类: Integer in1 = new Integer(12); Integer in2 = new Integer(“12”); Float f1 = new Float(12.3f); Fl原创 2021-05-31 17:58:37 · 112 阅读 · 0 评论 -
equals()和==区别
一、“==” 1、可以使用在基本数据类型变量和引用数据类型变量中。 2、基本数据类型,比较数值,类型不需要相同。 3、引用数据类型,比较地址值。 二、equals() 1、首先它是一个方法,需要通过对象来调用。 2、只比较引用数据类型。 3、Object类中的equals()和“==”作用是相同的。 public boolean equals(Object obj){ return this == obj; } 4、String、Date、File、包装类等都重写了Object类中的equals()方法原创 2021-05-28 21:29:27 · 89 阅读 · 0 评论 -
instanceof学习
先给类Person,Man和Woman,其中Person是Man和Woman的父类。 Person p1 = new Man(); //父类对象p1是指向子类的引用。 现在我们可以通过p来调用Man中的方法,但是我们只能调用父类和子类共同声明的属性和方法。 问题:如何才能调用子类特有的方法? 解决方法:使用向下转型,Man m1 = (Man)p1; // 向下进行转型使用强制转换符。 这时我们再去调用子类中特有的属性和方法就可以成功。 遗留问题:使用强转时可能出现异常,现在再去将p1转换成Woman原创 2021-05-28 20:33:46 · 84 阅读 · 0 评论