
Java基础
萌新一枚,请多关照
Java萌新,求大佬带带
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
枚举类和注解
枚举类和注解枚举类的使用如何自定义枚举类如何使用关键字enum定义枚举类Enum类的主要方法实现接口的枚举类注解的使用枚举类的使用枚举类的使用1.枚举类的理解:类的对象只有有限个,确定的。我们称此类为枚举类。2.当需要定义一组常量时,强烈建议使用枚举类3.如果枚举类中只有一个对象,则可以作为一种单例模式的实现方式如何自定义枚举类方式一:jdk5.0之前,自定义枚举类方式二:jdk5.0,可以使用enum关键字定义枚举类//自定义枚举类class Season { //1.原创 2020-11-13 23:51:40 · 203 阅读 · 0 评论 -
System,Math,BigInteger和BigDeciaml类
@TOCSystem类System类代表系统,系统级的很多属性和控制方法都放置在该类的内部,该类位于java.lang包。由于该类的构造器是private的,所以无法创建该类的对象,也就是无法实例化该类。其内部的成员变量和成员方法都是static的,所以也可以很方便的进行调用。成员变量System类内部包含in,out,err三个成员变量,分别代表标准输入流(键盘输入),标准输出流(显示器)和标准错误输出流(显示器)成员方法native long currentTimeMillis(): 该原创 2020-11-07 15:27:01 · 231 阅读 · 0 评论 -
Java比较器
Java比较器自然排序:java.lang.Comparable定制排序:java.util.Comparator在java中经常会涉及到对象数组的排序问题,那么就设计到对象之间的比较问题Java中实现对象排序的方式有两种:自然排序:java.lang.Comparable和定制排序:java.util.Comparator自然排序:java.lang.ComparableComparable接口强行对实现它的每个类的对象进行整体排序。这种排序被称为类的自然排序实现Comparable的类必原创 2020-11-07 14:28:11 · 119 阅读 · 0 评论 -
日期时间API
Date类java.util.Date类java.util.Date类1.两个构造器的使用* >构造器一:Date():创建了一个对应当前时间的Date对象* >构造器二:创建指定毫秒数的Date对象* 2.两个方法的使用* >toString():显示当前的年月日时分秒* >getTime():获取当前Date对象对应的毫秒数。(时间戳)...原创 2020-10-29 12:17:04 · 670 阅读 · 0 评论 -
String,StringBuffer和StringBuilder
Java中的常用类字符串相关的类:StringString的特性字符串相关的类:StringString的特性String类:代表字符串。Java程序中的所有字符串字面值(如"abc")都作为此类的实例实现String是一个final类,代表不可变的字符序列字符串是常量,用双引号引起来表示,他们的值在创建后不能更改String对象的字符内容是存储在一个字符数组value[]中的...原创 2020-10-25 11:01:24 · 102 阅读 · 0 评论 -
Java多线程
Java多线程基本概念:程序,进程,线程使用多线程的优点线程的创建和使用线程的声明周期线程的同步线程的通信JDK5.0新增线程创建方式基本概念:程序,进程,线程程序(program): 是为完成特定任务,用某种语言编写的一组指令的集合。即指一段静态的代码,静态对象。进程(process): 是程序的一次执行过程,或是正在运行的一个程序。 是一个动态的过程:有它自身的产生,存在和消亡的过程。------声明周期如:运行中的QQ,运行中的MP3播放器程序是静态的,进程是动态的进程作为资源分配的单位原创 2020-09-20 16:47:22 · 564 阅读 · 0 评论 -
异常处理
异常处理异常概述与异常体系结构异常体系结构异常概述与异常体系结构 //1.栈溢出:java.lang.StackOverflowError main(args); //2.堆溢出:java.lang.OutMemoryError Integer[] arr=new Integer[1024*1024*1024];异常体系结构java.lang.Throwable-----java.lang.Error:一般不编写针对性的代码进行处理-----java.lang.Excep原创 2020-08-14 10:37:34 · 220 阅读 · 0 评论 -
abstract关键字
abstract关键字abstract关键字的使用1.abstract可以用来修饰的结构:类,方法2.abstract修饰类:抽象类此类不能实例化抽象类中一定有构造器,便于子类实例化时调用(涉及:子类对象实例化的全过程)开发中,都会提供抽象类的子类,让子类对象实例化,完成相关操作3.abstract修饰方法:抽象方法抽象方法只有方法的声明,没有方法体包含抽象方法的类,一定是一个抽象类,反之,抽象类中可以没有抽象方法子类重写了父类中所有抽象方法后,此子类方可实例化若子类没有重写父类原创 2020-08-14 08:57:23 · 226 阅读 · 0 评论 -
内部类
内部类1.java中允许将一个类A声明在另一个类B中,则类A就是内部类,类B称为外部类2.内部类的分类:成员内部类(静态,非静态) vs 局部内部类(方法内,代码块内,构造器内)3.成员内部类:一方面,作为外部类的成员:调用外部类的结构可以被static修饰可以被四种不同的权限修饰另一方面:作为一个类:类内可以定义属性,方法,构造器等可以被final修饰,表示此类不能被继承可以被abstract,表示此类不能被实例化public class InnerClassTest {原创 2020-08-14 08:49:05 · 110 阅读 · 0 评论 -
final关键字
final关键字1.final可以用来修饰的结构:类,方法,变量2.final用来修饰一个类:此类不能被其他类继承比如String类,System类,StringBuffer类3.final用来修饰方法,表明此方法不能被重写比如:Object类中的getClass();4.final用来修饰变量:此时的"变量"就称为是一个常量final修饰属性,可以考虑赋值的位置有:显示初始化,代码块赋值,构造器中初始化final修饰局部变量:尤其是使用final修饰形参时,表明此形参是一个常量原创 2020-08-13 08:18:20 · 92 阅读 · 0 评论 -
代码块
代码块1.代码块的作用:用来初始化类,对象2.代码块如果有修饰的话,只能使用static3.分类:静态代码块 vs 非静态代码块4.静态代码块内部可以有输出语句随着类的加载而执行作用:初始化类的信息如果一个类中定义了多个静态代码块,则按照声明的先后顺序执行静态代码块的执行要优先于非静态代码块的执行静态代码块只能调用静态的属性,静态的方法,不能调用非静态的结构5.非静态代码块内部可以有输出语句随着对象的创建而执行每创建一个对象,就执行一次非静态代码块作用:可以在创建对象时,原创 2020-08-13 08:17:48 · 155 阅读 · 0 评论 -
static关键字
static关键字1.static:静态的2.static可以用来修饰:属性、方法、代码块、内部类3.使用static修饰属性:静态变量属性,按是否使用static修饰,分为:静态属性vs非静态属性(实例变量)实例变量:我们创建了类的多个对象,每个对象都独立的有一套类中的非静态属性当修改其中一个对象中的非静态属性时,不会导致其他对象中同样的属性值的修改静态变量:我们创建了类的多个对象,多个对象共享同一个静态变量。当通过某一个对象修改静态变量时,会导致其他对象调用此静态变量时,是修改过了的原创 2020-08-13 08:15:26 · 89 阅读 · 0 评论 -
包装类
包装类基本类型,String类与包装类之间的转换包装类的练习public class WrapperTest { //关于包装类的面试题:test6()和test7()的输出结果相同吗 @Test public void test6() { //三元运算符要求后面两个统一类型 Object o1=true?new Integer(1):new Double(2.0); System.out.println(o1);//1.0 } @Test public void tes原创 2020-08-13 08:14:52 · 113 阅读 · 0 评论 -
Object类的使用
Object类的使用java.lang.Object类Object类是所有java类的根父类如果在类的声明中未使用extends关键字指明其父类,则默认父类未java.lang.Object类Object类中的功能(属性,方法)就具有通用性属性:无方法:equals() / toString() / getClass() / hashCode() / clone() / finalize()wait() , notify() , notifyAll()4.Object类只声原创 2020-08-13 08:14:02 · 346 阅读 · 0 评论 -
多态性
多态性面向对象特征之三:多态性1.理解多态性:理解为一个事物的多种形态2.何为多态性:对象的多态性:父类的引用指向子类的对象(或子类的对象赋给父类的引用)3.多态的使用:虚拟方法使用有了对象的多态性以后,我们在编译期,只能调用父类中声明的方法,但在运行期,我们实际执行的是子类重写父类的方法总结:编译,看左边;运行,看右边4.多态性的使用前提:①有类的继承关系②方法的重写5.对象的多态性:只适用于方法,不适用于属性(编译和运行都看左边)虚拟方法的调用instanceof关键字原创 2020-08-13 08:13:23 · 2929 阅读 · 0 评论 -
Debug调试
Debug调试如何调试程序:1.System.out.println().2.Eclipse - Debug调试原创 2020-08-13 08:10:54 · 114 阅读 · 0 评论 -
继承性
继承性面向对象的特征之二:继承性一:继承性的好处①减少了代码的冗余,提高了代码的复用性②便于功能的扩展③为之后的多态性的使用,提供了前提二:继承性的格式:class A extends B{}A:子类,派生类,subclassB:父类,超类,基类,superclass体现:一旦子类A继承父类B之后,子类A中就获取了父类B中声明的所有属性和方法特别的:父类中声明为private的属性或方法,子类继承后,仍然认为获取了父类中私有的结构,只是因为封装性的影响,使得子类不能直接调用父类的原创 2020-08-13 08:08:35 · 414 阅读 · 0 评论 -
关键字:this
关键字:this的使用原创 2020-08-13 08:07:09 · 104 阅读 · 0 评论 -
JavaBean
JavaBeanUML类图原创 2020-08-12 16:58:55 · 75 阅读 · 0 评论 -
构造器
构造器一.构造器的作用1.创建对象 2.初始化对象的属性二.说明:如果没有显示的定义类的构造器的话,则系统默认提供一个空参的构造器定义构造器的格式:权限修饰符 类名(形参列表){}一个类中定义的多个构造器,彼此构成重载一旦我们显示的定义了类的构造器之后,系统就不再提供默认的空参构造器一个类中至少会有一个构造器...原创 2020-08-12 16:58:18 · 112 阅读 · 0 评论 -
封装性
封装性问题的引人:当我们创建一个类的对象以后,我们可以通过"对象.属性"的方式,对对象的属性进行赋值。这里赋值操作要受属性的数据类型和存储范围的制约。除此之外,没有其他限制条件但是,在实际问题中,我们往往要给属性加入额外的限制条件。这个条件就不能在属性声明时体现,我们只能通过方法进行限制条件的添加。(比如,setLegs())同时,我们需要避免用户再使用"对象.属性"的方式对属性赋值,则需要将属性声明为私有的(private)–>此时,针对于属性就体现了封装性。我们将类的属性私有化(priv原创 2020-08-12 16:57:39 · 99 阅读 · 0 评论 -
可变个数形参
可变个数形参具体使用:可变个数形参的格式:数据类型…变量名当调用可变个数形参的方法时,传入的参数个数可以是:0个,1个,2个。。。可变个数形参的方法与本类中方法名相同,形参不同的方法之间构成重载可变个数形参的方法与本类中方法名相同,形参类型也相同的数组之间不构成重载,换句话说,他们不能共存可变个数形参在方法的形参中,必须声明在末尾可变个数形参在方法的形参中,最多只能声明一个可变形参public static void main(String[] args) { MethodArgsT原创 2020-08-12 16:57:10 · 235 阅读 · 3 评论 -
方法的重载
方法的重载(overload) loading…定义:在同一个类中,允许存在一个以上的同名方法,只要他们的参数个数或者参数类型不同即可。“两同一不同”:同一个类,相同方法名参数列表不同,参数个数不同,参数类型不同特点:与返回值类型无关,只看参数列表,且参数列表必须不同。(参数个数或参数类型)调用时,根据方法参数列表的不同来区别举例:Arrays类中重载的sort()/binarySearch()判断是否重载:跟方法的权限修饰符,返回值类型,形参变量名,参数类型不同在原创 2020-08-12 16:56:20 · 111 阅读 · 0 评论 -
值传递机制
值传递方法的形参的传递机制,值传递1.形参:方法定义时,声明的小括号内的参数实参:方法调用时,实际传递给形参的数据2.值传递机制:如果参数是基本数据类型,此时实参赋给形参的是,实参真实存储的数据值如果参数是引用数据类型,此时实参赋给形参的是实参存储数据的地址值参数类型为:基本数据类型参数类型为:引用数据类型练习 public static void main(String[] args) { ValueTransferTest1 test=new ValueTransferTe原创 2020-08-12 16:54:41 · 446 阅读 · 0 评论 -
内存解析
内存解析虚拟机栈,我们将局部变量存储在栈结构中堆,我们将new出来的结构(比如数组,对象)加载在堆空间中。补充:对象的属性(非static的)加载在堆空间中原创 2020-08-12 16:53:37 · 115 阅读 · 0 评论 -
Java中的类和对象
类和对象类:对一类事物的描述,是抽象的,概念上的定义对象:是实际存在的该类事物的每个个体,因而也称为实例(instance)Java类的成员属性,方法,构造器,代码块,内部类面向对象的三个特征:封装,继承,多态其他关键字:this,super,static,final,abstract,interface,package,import...原创 2020-08-12 16:52:53 · 72 阅读 · 0 评论 -
JAVA中的数组基本知识
Java中的数组数组的概述数组的理解数组相关的概念数组的特点数组的分类一维数组的使用一维数组的声明和初始化如何调用数组的指定位置的元素如何获取数组的长度如何遍历数组数组元素的默认初始化数组的内存解析数组的概述数组的理解数组(Array):是多个相同类型数据按一定顺序排列的集合,并使用一个名字命名,并通过编号的方式对这些数据进行统一管理。数组相关的概念数组名元素角标,下标,索引数组的长度:元素的个数数组的特点数组是有序排列的数组属于引用类型变量(类,接口,数组)。数组的元素既可以是原创 2020-07-01 09:33:05 · 873 阅读 · 0 评论 -
Eclipse中的一些设置
Eclipse的一些设置设置字符编码查看Java类库的源代码在编写的代码中显示程序员的相关信息设置字符编码点击菜单栏的Windows—>Preferences查看Java类库的源代码按住crtl,点击想要查看类的源代码没关联要先关联到源码源码在jdk的存放位置以压缩包的形式存在在编写的代码中显示程序员的相关信息修改文档注释的内容 (修改后在写的代码上按/**加个回车)...原创 2020-06-14 16:46:34 · 220 阅读 · 0 评论 -
JAVA中基础流程控制
流程控制if语句switch语句循环结构for循环while循环嵌套循环嵌套循环的练习及优化问题练习一:打印练习二:打印100000内所有质数(并考虑优化)break和continue的使用if语句switch语句循环结构for循环while循环嵌套循环嵌套循环的练习及优化问题练习一:打印 //上半部分 for(int i=1;i<=6;i++) { for(int j=1;j<=6-i;j++) { System.out.print("原创 2020-06-13 10:10:47 · 136 阅读 · 0 评论 -
Java中的一些基础知识
基本知识关键字保留字标识符的定义Java中命名的规范变量的分类基本数据的类型转换和运算规则强制类型转换字符串在与字符串进行运算时顺序导致结果的变化进制运算符算术运算符赋值运算符比较运算符逻辑运算符区分&(|)与&&(||)的比较位运算符流程控制if语句switch语句循环结构for循环关键字保留字标识符的定义Java中命名的规范变量的分类基本数据的类型转换和运算规则强制类型转换字符串在与字符串进行运算时顺序导致结果的变化进制原创 2020-06-13 10:02:24 · 298 阅读 · 0 评论 -
关于Java语言的概述
原创 2020-06-06 08:55:39 · 143 阅读 · 0 评论