Java笔记
讲梦
这个作者很懒,什么都没留下…
展开
-
Java--泛型
Java–泛型泛型理解就是标志泛型的使用1、在集合中使用泛型集合接口或集合类在jdk5.0时都修改为带泛型的结构在实例化集合类时,可以指明具体的泛型类型指明完以后,在集合类或接口中凡是定义类或接口时,内部结构(比如:方法、构造器、属性等)使用到类的泛型的位置,都指定为实例化的泛型类型。比如:add(E e)---->实例化以后:add(Integer e)注意:泛型的类型必须是类,不能是基本数据类型。需要用到基本数据类型的位置,用包装类替换如果实例化时没用指明泛型的类型。默认类型是j原创 2021-05-20 16:22:34 · 52 阅读 · 0 评论 -
Java集合
Java集合集合框架的概述1、集合、数组都是对多个数据进行存储操作的结构,简称Java容器此时的存储主要是指内存层面的存储,不涉及到持久化的存储(.txt,.jpg,数据库中)java集合就像是一种容器,可以动态的把多个对象的引用放入容器中2、数组在存储多个数据方面的特点:>一旦初始化后,其长度就确定了>数组一旦定义好,其元素类型就确定了,我们也就只能操作指定类型的数据了比如String【】 arr;int【】 arr1数组中提供的方法非常有限,对于添加、删除、插入数据等操作,原创 2021-05-14 07:22:43 · 17199 阅读 · 4 评论 -
Java--注解
Java–注解框架= 注解+ 反射+ 设计模式自定义注解1、注解声明为:@interface2、内部定义成员,通常使用value表示3、可以指定成员的默认值,使用default定义4、如果定义注解没有衬管,表明事宜个标志的作用如果注意有成员 ,在使用注解时,需要指名成员的额值自定义注解必须配上注解的信息处理流程(使用反射)才有意义jdk提供的四种注解元注解:修饰现有的注解的解释说明Retention:指定多修饰的Annotation的生命周期:SOURCE\CLASS(默认行为)原创 2021-05-10 15:35:31 · 70 阅读 · 0 评论 -
Java--枚举类
Java枚举类枚举类的理解1、类的对象只有有限个,确定的2、当需要定义一组常量时,建议使用枚举类3、如果枚举类中只有一个对象,则可以作为单例模式的实现方式如何定义枚举类1、方式一:jdk5.0之前,自定义枚举类2、方拾二:jdk5.0之后,可以使用enum关键字定义枚举类方式一:1、声明对象属性:private final修饰2、私有化类的构造器,并给对象属性赋值3、提供当前枚举的多个对象:public static final的4、其他诉求:获取枚举类对象的属性方式二:使用enum原创 2021-05-10 09:30:24 · 57 阅读 · 0 评论 -
Java比较器
Java比较器一、说明java中的对象,正常情况下,智能进行比较:==或者!=。不能使用>或者<的,但是在开发场景中,我们需要对多个对象进行排序,就需要比较对象的大小,就要借助Comparable或者ComparatorComparable接口的使用自然排序1、像String、包装类等实现了Comparable接口,重写了compareTo(obj)方法,给出了比较两个对象的方法2、像String、包装类重写compareTo()方法以后,进行从小到大的排序3、重写compareT原创 2021-05-10 08:41:03 · 1297 阅读 · 0 评论 -
Java--String类
Java–String类String类声明为final,不能被继承String类实现了serializable接口,表示字符春是支持序列化的String类实现了comparable接口,表示String类可以比较大小String内部定义了final char【】value 用于储存字符串数据String代表不可变得字符序列通过字面量的方式(区别于new)给一字符串赋值,此时的字符串值声明在字符串常量池中,字符串常量池中不会存储相同内容的字符串String str1 = “abc”;Str原创 2021-05-08 20:57:58 · 99 阅读 · 2 评论 -
JAVA--线程问题
JAVA–线程问题Thread中的常用方法:1、start():启动当前线程,调用当前线程的run()2、run():通常需要重写,将创建的线程要执行的操作声明在此方法中3、currentThread()静态方法:返回执行当前代码的线程4、getName():获取当前线程的名字5、setName():设置当前线程的名字6、yield():释放当前cpu的执行权(被其他线程组执行)7、join():在线程a中调用线程b的join(),此时线程a进入阻塞状态,直到线程b执行完毕后,线程a结束阻塞原创 2021-04-30 18:38:24 · 132 阅读 · 1 评论 -
final关键字
final关键字final:最终的1、final可以用来修饰的结构:类、方法、变量2、final用来修饰一个类:此类就不能被其他类继承(不能有子类,不能补充扩增)比如:String类、System类、StringBuffer类3、final修饰方法:这个方法不能重写比如:Object类中的getClass4、final修饰变量:此时的“变量”就是一个常量final修饰属性:可以考虑复制的位置:显式初始化、代码块中能赋值初始化、构造器中初始化final修饰局部变量: 用final修饰形参是原创 2021-03-07 14:53:13 · 40 阅读 · 0 评论 -
static关键字的使用 单例模式两种情况
static关键字的使用static可以用来修饰:属性、方法、代码块、内部类使用static修饰属性时:静态变量属性:按照是否使用static修饰,分为静态属性和非静态属性(实例变量)实例变量:当我们创建了类的多个对象,每个对象都独立的拥有一套类中的非静态属性。当修改其中一个对象中的非静态属性时,不会导致其他对象中同样的属性值的修改静态变量:我们创建了类的多个对象,多个对象共享同一个静态变量。当通过某一个对象修改静态变量时,会导致其他对象调用此静态变量时,是修改过的static修饰属性的其他说明原创 2021-03-04 10:34:56 · 450 阅读 · 0 评论 -
面向对象语言设计--多态性 方法的重载与重写*
面向对象语言设计–多态性理解多态性:一个事物的多种形态对象的多态性:父类的引用指向子类的对象多态的使用:当调用子父类同名同参数的方法时,实际执行的是子类重写父类的方法—虚拟方法调用。有了对象的多态性以后,我们在编译期只能调用父类中声明的额方法,在运行期,我们执行的是子类重写父类的方法编译看左边,执行看右边多态性的使用前提:1、类的继承性2、要有方法的重写(不然没必要new子类对象)方法重写的具体规则:方法名、形参列表相同子类的权限修饰符不小于父类的权限修饰符返回值不能大于父类的返回原创 2021-02-20 22:41:47 · 166 阅读 · 0 评论 -
面向对象的特征之二:继承性
面向对象的特征之二:继承性**一、**继承性的好处:1、减少了代码的冗余,提高了代码的复用性2、编译功能的扩展3、为了之后的多态性的使用,提供了前提二、继承性的格式:class A extends B{ }A子类:派生类、subclassB:父类、超类、基类、superclass体现一旦子类A继承父类B之后,子类A就获取了父类B中的声明中的所有的结构:属性、方法特别的:父类中声明为private的属性或者方法,子类继承父类以后,应然认为获取了父类中私有的结构。只是因为封装性的影响,使子类原创 2021-02-18 22:54:44 · 148 阅读 · 0 评论 -
this的使用(Java关键字)
this的使用(Java关键字)this的使用是在属性和形参重名的情况下为了区分二者,不重名的情况下可用this也可以不用this可以用来修饰、调用:属性、方法、构造器this修饰属性和方法时:this理解为:当前对象或者当前正在创建的对象在类的方法中,我们可以使用“this.属性”或者“this.方法”的方式,调用当前对象的属性或者方法。但是,通常情况下我们都会省略“this. ”。特殊情况下,如果方法的形参和类的属性同名时,我们必须显示的使用“this.变量 "的方式,表明此变量是属性而非形参原创 2021-02-15 21:54:35 · 367 阅读 · 0 评论 -
Java面向对象的特征
Java面向对象的特征面向对象特征之一:封装和隐藏、我们程序设计追求“高内聚,低耦合”高内聚:类的内部数据操作细节自己完成,不允许外部干涉;低耦合:仅对外暴露少量的方法用于使用封装性的体现:我们将类的属性xxx私有化(private),同时,提供公共的(public)方法来获取(getXxx)和设置(setXxx)此属性的值拓展:封装性的体现:1、如上2、不对外暴露的私有的方法3、单例模式封装性的体现需要权限修饰符来配合1、Java规定的四种权限(从小到大):private、缺省、pr原创 2021-02-15 20:19:38 · 121 阅读 · 2 评论 -
Java面向对象之方法
Java面向对象之方法方法的重载(overload)loading…定义:在同一个类中,允许存在一个以上的同名方法,只要它们的参数个数或者参数类型不同即可“两同一不同:同一个类,相同方法名;参数列表不同,参数数据不同”值传递机制如果参数是基本数据类型,此时实参赋给形参的是实参真是储存的数据值如果参数是引用数据类型,此时实参赋给形参的是实参储存数据的地址值...原创 2021-02-13 22:52:11 · 91 阅读 · 1 评论 -
Java面向对象学习--类和类的成员
Java面向对象学习–类和类的成员java类的成员:属性、方法、构造器、代码块、内部类面向对象的三大特征:封装性、继承性、多态性(抽象性)面向对象的两个要素:**类:**对一类事物的描述,是抽象的,概念上的定义**对象:**是实际存在的该类事物的每个个体,因此也被称为实例。面向对象设计的重点是类的设计设计类就是设计类的成员...原创 2021-02-12 19:35:45 · 386 阅读 · 1 评论 -
Java-数组
Java-数组数组的概念数组是多个、相同类型数据按照一定的顺序排列的集合,并使用一个名字命名,并通过编号的方式对这些数据进行统一管理。数组属于引用数据类型。数组的元素既可以是基本数据类型,也可以是引用数据类型。...原创 2021-02-04 22:49:13 · 59 阅读 · 1 评论 -
Java程序流程控制
Java程序流程控制1、顺序结构2、分支结构if-else 结构3、循环结构原创 2021-02-03 20:40:35 · 79 阅读 · 0 评论 -
Java中的运算符
Java中的运算符1、算术运算符常见的有 + - * / % ++(前) ++(后) --(前) --(后)class AriTest{ public static void main(String[] args){ int num1=12; int num2=5; int result=num1/num2*num1; System.out.println(result); //10 double result2原创 2021-01-19 16:53:07 · 139 阅读 · 0 评论 -
String类型变量的使用
String类型变量的使用1、String属于引用数据类型,翻译为字符串2、声明String类型变量时,使用一对“ ”注意:String型中“ ”双引号中可以不输入字符但是char类型中必须只能放一个字符,多了少了都不可以3、String可以使用八种基本数据类型变量做运算,并且运算只能是连接运算:+“+”在Java中被重载了,是连接运算class StringTest{ public static main(String[] args){ int number=1001原创 2021-01-16 22:22:04 · 964 阅读 · 0 评论 -
Java变量运算两个特殊情况
Java变量运算两个特殊情况定义long型的时候如果数字过小,忘了加l(或者L),系统自动认为是int型,自动用四个字节储存。但是如果输入过多,超过int所能承载的最大限度系统会报错。下面是代码示例:class VariableTest{ public static viod main(String[] args){ //编码情况: long 1=122321; System.out.println(1); //整数过大导致编译失败 long l1=原创 2021-01-16 21:26:37 · 75 阅读 · 0 评论 -
Java 标识符 命名规则 变量 数据类型
Java语法关键字和保留字关键字:被java语言赋予了特殊含义,用作专门的用途的字符串所有关键字都是小写*保留字:*现有的java版本尚未使用,但是以后版本可能作为关键字使用。(goto const)标识符标识符:java对各类变量、方法和类等要素命名时使用的字符序列成为标识符(凡是自己可以命名的地方都叫做标识符)·由16个英文字母大小写,0-9,或者_和¥组成·数字不可以用来开头·不可以使用关键字和保留字,但可以包含关键字和保留字·Java中严格区分大小写,长度度无限制标识符不原创 2021-01-15 21:50:37 · 176 阅读 · 0 评论