
JavaSE
Penerx
知识改变命运
展开
-
设计模式——单例模式
单例设计模式作用:保证一个类只有一个对象,并且提供一个访问该实例的全局访问点常见场景:windows中任务管理器Windows中回收站网站计数器日志应用数据库连接池操作系统的文件系统Application(Servlet)Spring中的每个bean默认是单例SpringMVC中控制器也是单例的单例模式的优点:单例模式只生成一个实例,减少系统性能的开销,当一个对象产...原创 2020-04-22 21:43:12 · 160 阅读 · 0 评论 -
Java中的集合——Set
Set接口的实现类HashSet的使用public class TestSet { public static void main(String[] args) { Set<String> set=new HashSet<String>(); set.add("hello"); System.out.printl...原创 2020-02-18 15:32:18 · 269 阅读 · 0 评论 -
集合——List
1.为什么使用集合例如:存储数据之前可以用数组存储数据,数组有很大的缺点,长度一旦确定,就没法修改,所以如果删除或者增加元素,需要大量的移动元素的位置。数组:只能放一种数据类型,可以是基本数据类型也可以是引用数据类型总行所述,可以使用集合来解决这种问题:集合的优点:增加删除元素效率高集合的特点:一个集合可以有多种数据类型(一般使用泛型,只存放一种数据类型),但是他只能存放引用数据类型...原创 2020-02-17 13:39:43 · 338 阅读 · 0 评论 -
包装类
包装类基本数据类型这个数进行了一个封装,产生了一个类,----包装类对应关系 基本数据 对应的包装类 继承关系 byte Byte Number----->Object short Short int Integer long Long float Float ...原创 2020-02-17 11:50:16 · 308 阅读 · 0 评论 -
Java中异常处理
异常介绍异常:编译正常通过,在运行过程中出现不正常情况错误:单词或语法错误,程序无法正常编译bug:编译正常,运行正常,运行结果不正确出现异常可以使用if…else进行判断public class Test { public static void main(String[] args) { Scanner input=new Scanner(System.i...原创 2020-02-17 11:06:39 · 230 阅读 · 0 评论 -
垃圾回收
对象空间的分配:使用new关键字创建对象即可对象空间的释放:传统的C/C++语言,需要程序员负责回收已经分配内存。显式回收垃圾回收的缺点:程序忘记及时回收,从而导致内存泄露,降低系统性能。程序错误回收程序核心类库的内存,导致系统崩溃。Java语言不需要程序员直接控制内存回收,是由JRE在后台自动回收不再使用的内存,称为垃圾回收机制(Garbage Collection)。可以提高编程...原创 2020-02-16 22:06:07 · 177 阅读 · 0 评论 -
内部类
内部类:把类定义在另一个类里面public class Outer { //外部类 private class Inner{ //内部类 }}内部类的分类(1)成员内部类 :定义在类里,方法外,作为外部类的成员而存在成员内部类基本特征内部类可以直接访问外部类的成员外部类不可以直接访问内部类的成员,必须先创建对象再使用外部类只能使用public和默认修饰,而内部...原创 2020-02-16 22:04:32 · 366 阅读 · 0 评论 -
interface接口
interface关键字使用interface声明一种数据类型 ,称为接口类型 --》属于引用数据类型public interface MyInterface {}引用数据类型包括 类,数组,接口为什么需要接口(1)从N多个对象当中抽取不出来象的东西(2)为了扩展单继承的功能接口体现的是一种“规范”,接口满足的关系是 has -a "如果你是什么,你就需要具备什么样的能力”接...原创 2020-02-16 21:50:44 · 634 阅读 · 0 评论 -
abstract关键字
abstract关键字 :英文单词的意思,抽象的(1)修饰类 -->称为抽象类特征:就是不能创建对象(不能实例化)public abstract class Animal {}(2)修饰方法 :使用abstract修饰的方法称为抽象方法特 点:a)没有方法体,只能以分号结尾b)必须定义在抽象类里c)必须被子类实现,如果子类不实现,那么子类也得是抽象类抽象类里可以包含...原创 2020-02-16 21:42:01 · 164 阅读 · 0 评论 -
final关键字
final关键字可以修饰类,方法,变量final修饰的变量称为常量变量–>成员变量和局部变量final修饰成员变量,通常与static一起使用,称为静态常量static说明PI的使用需要使用类名. Math.PIfinal说明PI的值在整个程序的运行过程其值不允许改变final修饰的局部变量称为常量变量–>基本数据类型和引用数据类型final修饰的基本数据类型...原创 2020-02-16 21:38:29 · 150 阅读 · 0 评论 -
类型转换
向上类型转换(自动类型转换)只能调用父类中存在的方法,或者是重写的方法在子类中定义的方法将不能使用父类引用=子类对象 自动转换调用的子类继承的方法调用的是子类重写的方法不能调用子类特有的方法public class TestPoly2 { public static void main(String[] args) { //基本数据类型的类型转换 ...原创 2020-02-16 21:32:55 · 207 阅读 · 0 评论 -
面向对象三大特征——多态
多态对的前提:继承和方法重写多态:父类引用指向子类对象,调用相同的方法,运行结果不同多态的三个必要条件继承方法重写父类引用 new 子类对象多态的好处减少重载方法的数量符合开闭原则,即使增加子类,不需要提供额外的方法多态的使用场合使用父类做方法的形参,实参可以是任意的子类类型(最主要的场合)使用父类做方法的返回值类型,实际返回的可以是任意子类的对象父类pub...原创 2020-02-16 21:26:43 · 578 阅读 · 0 评论 -
方法的重写
方法的重载 overload作用:在同一个类中为同一种功能提供不同的实现方式(1)发生在同一个类中(2)方法的名称相同(3)参数不同 (类型,顺序,个数)(4)访问权限和访问值类型无关方法的重写 override作用 :父类提供了方法,但是不能满足子类的需求,子类可以重写编写方法体(1)发生在子类(2)方法的名称,参数的类型 ,个数,顺序必须与父类的方法完全相同(3)返回值&l...原创 2020-02-16 19:29:17 · 246 阅读 · 0 评论 -
面向对象三大特征——继承
继承:提高代码的复用性继承的好处避免代码重复修改父类,影响所有的子类(增加了耦合性)如何继承:使用extends关键字如果一个类没有指定父类,默认父类是Object,Object类是所有类的父类单继承 一个类只能有一个父类 C++可以多继承可以多层继承一父二子一测试(1)编写父类public class Person {//父类 private String ...原创 2020-02-16 19:24:10 · 233 阅读 · 0 评论 -
面向对象的三大特征——封装
面向对象的三大特征(1)封装 –>提高程序的安全性 (主要指的是值的准确的性)(2)继承–>提高代码的复(重复使)用性(3)多态–>提高程序的扩展性封装public :最大的访问权限(整个项目可见)protected :子类方访问权限package :包内访问权限private :本类访问权限封装的好处:安全使用封装保证属性的安全性(属性值的准确性...原创 2020-02-16 19:12:23 · 708 阅读 · 0 评论 -
static关键字
static:静态的static可以修饰成员变量,称为静态变量,在方法区标准使用方式:类名.静态变量名另一种使用方式:对象名.静态变量名static可以修饰成员方法 ,称为静态方法标准使用方式:类名.方法名()另一种使用方式:对象名.方法名()public class Student { String name; //name与age称为成员变量,在堆 ...原创 2020-02-16 19:02:39 · 120 阅读 · 0 评论 -
this关键字
this关键字this关键字是代表当前对象的引用(地址)public class Person{//(1)类名 //(2)属性 String name; int age; String gender; public Person(){ System.out.println("this...原创 2020-02-16 18:47:57 · 147 阅读 · 0 评论 -
构造方法
构造方法是一种特殊的方法方法的名称必须和类的名称相同不能写返回值,也不能写void,更不能使用return构造方法可以重载类的组成部分属性方法构造方法public class Person{//(1)类名 //(2)属性 String name; int age; String gender; ...原创 2020-02-16 18:39:20 · 122 阅读 · 0 评论 -
成员变量和局部变量
成员变量我们研究一个事物:属性:外在特征(类中的成员变量)行为:能做什么局部变量方法中,或者方法的形参成员变量和局部变量的区别位置不同:成员变量:----> 类中,方法外局部变量:-------> 方法里,方法的形参,代码块里public class Test1{ String name;//成员变量 pu...原创 2020-02-16 18:26:50 · 152 阅读 · 0 评论 -
类和对象
采用面向对象的方式开发一个软件,声明周期当中:面向对象分析:OOA面向对象设计:OOD面向对象编程:OOP类和对象对象:具体的实物类:由N多个对象 抽取出来像的部分(抽象)归结为类(别),像的部分包括描述的属性和功能(类别的特征),根据认识其他对象是否属于这个类别类和对象之间的关系...原创 2020-02-16 18:08:32 · 117 阅读 · 0 评论 -
面向对象和面向过程的区别
面向对象找参与者面向过程注重操作步骤(顺序,线性思维)二者之间的关系 面向过程 面向对象 区别 事物比较简单,可以用线思维去解决 事物比较复杂,使用简单的线性思维无法解决 共同点 面向对象和面向过程都是一种解决问题的思维 二者是相辅相成,并不是独立的 解决复杂的问题,通过面向对象的方式便于我们从宏观上把握事物之间复...原创 2020-02-15 21:16:05 · 155 阅读 · 0 评论 -
java实现多线程的四种方式
这里写自定义目录标题欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入欢迎使用Ma...原创 2020-02-03 21:42:08 · 235 阅读 · 0 评论