javase基础
爱编程的小疯子
兴趣是最好的老师,坚持是一种习惯。
展开
-
StringBuffer类中的常用方法
public void test2(){ StringBuffer buffer1 = new StringBuffer("abc"); StringBuffer buffer2 = buffer1.append(3); //字符串拼接 System.out.println(buffer2); StringBuffer buffer3 = buffer2.delete(2, 3);//删除指定位置的内容(左闭右开) Stri..原创 2021-09-07 10:12:13 · 175 阅读 · 0 评论 -
常用类---String类的概述
String:字符串,使用一对" "引起来表示1.String声明为final的,不可被继承。2.String实现了Serializable接口:表示字符串是支持序列化的实现了Comparable接口:表示String可以比较大小3.String内部定义了final char[] value用于存储字符串数据4.String:代表不可变的字符序列,简称:不可变的特性...原创 2021-09-07 10:06:40 · 107 阅读 · 0 评论 -
String类的各种常用方法介绍
public void test1(){ String s1 = "JACK"; System.out.println(s1.length()); //输出底层数组长度 System.out.println(s1.charAt(1)); //输出指定角标的字符 System.out.println(s1.charAt(0)); System.out.println(s1.charAt(3)); Sys...原创 2021-09-07 06:05:13 · 127 阅读 · 0 评论 -
程序、进程、线程的概念
1.程序:是为了完成某个特定的任务,而用某种语言编写的一组指令的集合,即指的是一段静态的代码,静态对象。2.进程:是程序的一次执行过程,或是一个正在运行的程序。是一个动态的过程:有它自身的产生、存在、和消亡的过程——生命周期。程序是静态的,进程是动态的。系统在运行时会为每个进程分配不同的内存空间。3.线程:进程可进一步细化为线程,是一个程序内部的执行的路径。若一个进程同一时间并行执行多个线程,就是支持多线程的。线程作为调度和执行的单位,每个线程拥有独立的运行栈和程序计数器(PC),一个进程中的.原创 2021-09-04 13:11:36 · 3943 阅读 · 0 评论 -
异常的概念及应用
1.异常的处理:抓抛模型过程一:“抛”:程序正在执行时,一旦出现异常,就会在异常代码处生成一个对应异常类的对象,并将此对象抛出。一旦抛出对象以后,其后代码就不再执行。过程二:“抓”可以理解为异常的处理方式:①try-catch-finally②throws2.try-catch-finally的使用:try{ //可能出现异常的代码}catch(异常类型1 变量名1){ //处理异常的方式1}catch(异常类型2 变量名2){ //处理异常的...原创 2021-08-14 14:50:44 · 148 阅读 · 0 评论 -
内部类的含义及应用
1.java中允许将一个类A声明在类B中,类A被叫做内部类,类B称为外部类。2.内部类的分类:成员内部类(静态、非静态) VS 局部内部类(方法内、构造器内、代码块内)3.成员内部类:一方面,作为外部类的成员:...原创 2021-08-09 20:47:56 · 96 阅读 · 0 评论 -
包装类的使用
1.java提供了8种基本数据类型对应的包装类,使得基本数据类型的变量具有类的特征2.基本数据类型、包装类、String三者之间的相互转换原创 2021-08-06 18:56:47 · 64 阅读 · 0 评论 -
接口的含义及应用
1.接口的基础语法:【权限修饰符】 interface 接口名 { }2.接口支持继承,并且支持多继承3.接口中只包含两部分内容,一部分是:常量。一部分是:抽象方法。4.接口中所有的元素都是public修饰的。(都是公开的)5.接口中抽象方法定义时:public abstract修饰符可以省略。6.接口中的方法都是抽象方法,所以接口中的方法不能有方法体。...原创 2021-08-08 10:58:09 · 308 阅读 · 0 评论 -
抽象类的概念及应用
1.类和类之间具有共同特征,将这些共同特征提取出来,形成的就是抽象类。类本身是不存在的,所以抽象类无法创建对象(无法实例化)。抽象类的语法:【修饰符列表】 abstract class 类名{类体}2.抽象类是无法实例化,无法创建对象的,所以抽象类是用来被子类继承的。final和abstract不能联合使用,这两个关键字是对立的。3.抽象类的子类可以是抽象类。4.虽然抽象类无法实例化,但是抽象类有构造器,这个构造器是供子类使用的。...原创 2021-07-30 22:49:07 · 403 阅读 · 0 评论 -
关键字final的含义及用法
1.关键字final表示最终的,不可变的。2.关键字final可以修饰变量、方法,还有类3.final修饰的类无法被继承4.final修饰的方法无法被覆盖,无法被重写5.final控制不了能不能调用的问题,表示的是最后的,不能变的,不能改的。6.final修饰的变量只能赋一次值7.final修饰的引用:该引用只能指向1个对象,并且它只能永远指向该对象,并且无法指向其他对象。并且在该方法执行过程中,该引用指向对象之后,该对象不会被垃圾回收期回收直到当前方法结束,才会释放空间原创 2021-07-30 05:36:17 · 12978 阅读 · 0 评论 -
关键字super的含义及应用
1.super是一个关键字,全部小写2.super和this关键字对比着学习this:能出现在实例方法和构造器中this的语法:"this." 或者"this()"this不能使用在静态方法中this.大部分时间可以省略,在区分局部变量和实例变量不可以省略。this()只能出现在构造器中的第一行,通过当前的构造器去调用本类中的其他构造器,目的是方法的调用。super:能出现在实例方法和构造器中super的语法:“super.”或者“super()”super不能使用在原创 2021-07-27 20:20:37 · 2960 阅读 · 0 评论 -
面向对象的三大特征之一:多态
学习多态的基础语法之前先普及两个概念:第一个:向上转型子——>父第二个:向下转型父——>子无论是向上还是向下转型,两种类型之间必须有继承关系。多态指的就是 父类型的引用指向子类型的对象public class Animal{ public void move(){ System.out.println("动物在移动") }}class Bird extends Animal{ public void move(原创 2021-07-26 19:46:16 · 82 阅读 · 0 评论 -
方法的重写override
当子类继承父类之后,继承过来的方法无法满足当前子类的业务需求时,子类有权利对这个方法进行重新编写,有必要进行“方法的覆盖”(方法重写)一、当子类对父类继承过来的方法进行“方法覆盖”之后,子类对象调用该方法的时候,一定执行覆盖之后的方法。回顾一下方法重载条件一:在同一个类当中条件二:方法名相同条件三:参数列表不同(个数,顺序,类型)方法重写条件一:两个类必须要有继承关系条件二:重写之后的方法和之前的方法具有:1.相同的返回值类型2.相同的方法名3.相同的形式原创 2021-07-25 15:17:52 · 95 阅读 · 0 评论 -
面向对象的三大特征之一:继承
一、继承性的好处:* 减少了代码的重复性,提高了代码的复用性* 便于功能的拓展* 为之后多态性的使用提供了前提* 继承性的格式:A extends B{}* A : 子类 , B:父类* 一旦子类A继承了父类B以后,子类A就获得了父类B中声明的结构:属性、方法* 子类继承父类以后,还可以声明自己特有的属性和方法,实现功能的拓展* 一个类可以被多个子类继承,反过来讲一个类只能有一个父类(单继承性)...原创 2021-07-25 11:24:12 · 55 阅读 · 0 评论 -
关键字this的含义及应用
1.关键字this是一个变量,一个引用,保存当前对象的内存地址,指向自身。所以严格意义来讲,this代表的就是“当前对象”。this储存在堆内存中对象的内部2.关键字this只能使用在实例方法中,谁调用这个实例方法,this就是谁。所以this代表的是当前对象...原创 2021-07-25 06:24:38 · 4712 阅读 · 0 评论 -
代码块的用途
* 代码块用途:用来初始化类,对象* 代码块如果有修饰的话,只能用static* 分类:静态代码块 vs 非静态代码块** 静态代码块:* 1.内部可以有输出语句* 2.随着类的加载而执行,而且只执行一次。* 3.作用:初始化类的信息* 4.如果一个类中定义了多个静态代码块,则按照声明的先后顺序执行* 5.静态代码块的执行要优先于非静态代码块的执行* 6.静态代码块内只能调用静态的属性、方法,不能调用非静态的结构** 非静态代码块:* 1.内部可以有输出语句* 2.随着对象的创.原创 2021-07-24 19:22:41 · 1424 阅读 · 0 评论 -
面向对象的三大特征之一:封装
封装的作用有两个:1.保证内部结构的安全性2.屏蔽复杂,暴露简单public class PersonTest{ public static void main(String[] args){ Person p = new Person(); p.age = 32; //在外部程序中可以随意更改属性 p.gender // 属性被封装,无法从外部直接调用 }}class Person{ int age;原创 2021-07-24 13:00:19 · 67 阅读 · 0 评论 -
构造器的创建和使用
构造器是用来创建对象,以及完成属性的初始化操作实例变量没有手动赋值的时候,系统会赋默认值。一个类中可以创建多个构造器,这些构造器可以构成方法重载。当一个类没有显示的定义任何构造器的时候,系统默认提供无参数构造器,当显示的定义构造器之 后,系统则不再提供无参数构造器。无参数构造器又叫做缺省构造器,或者默认构造器。一般在开发中为了方便编程,建议程序员手动的将无参数构造器写上,因为不写无参数构造 器的时候,这个默认的构造器很有可能就不存在了,另外也是因为无参数构造器使用的频率较高。.原创 2021-07-23 21:36:17 · 313 阅读 · 0 评论 -
类和对象的概念
类= 属性+方法通过类可以创建对象,对象又被称为实例(instance),这个过程也可以称为实例化。从对象到类称为抽象。当实例变量没有手动赋值,在创建对象的时候,也就是说在 new 的时候,系统会对实例变量默认赋值数据类型 默认值 byte 0 short 0 int 0 long 0L float 0.0f double 0.0 boolean false char \u0000 引用类型原创 2021-07-23 21:03:52 · 155 阅读 · 1 评论