javase
等你下课_
努力起码可以大器晚成
展开
-
数组
一、数组初始化: 数组属于引用数据类型,使用之前需要实例化 int[] data=null;//定义一个数组为null data=new int[3];//初始化数组 data[1]=00;data[1]=11;data[1]=22; 动态初始化:数组先开辟内存空间,然后通过索引进行内容的设置(上面是动态初始化) 静态初始化:在数组定义的时候同时设置数组的内容 int[] data...原创 2019-08-19 20:43:31 · 75 阅读 · 0 评论 -
String
String是常量,string类是用final修饰的,其对象一旦创建不能修改 string是引用类型,栈内存中存放的是引用地址,引用的值存放在堆内存中。 修改string实际是在堆内存中创建了新的string对象然后指向引用地址。 string str = "yuwei"; str = "yuxinhua"; 第一行,栈中创建一个str,在堆内存字符串常量池中寻找是否有"yuwei"这...原创 2019-08-22 00:40:27 · 256 阅读 · 0 评论 -
集合4---hashmap
public class HashMap<K,V> extends AbstractMap<K,V> implements Map<K,V>, Cloneable, Serializable { hashmap继承abstractMap,实现map、Cloneable、Serializable public abstract class Abstra...原创 2019-08-25 18:48:00 · 71 阅读 · 0 评论 -
集合3---arrayList、linkedList、vector
vector线程安全,效率没有arrayList高初始容量和ArrayList一样为10,扩容机制为2倍。 一、插入效率为何是正常情况下 默认ArrayList的add()方法实在末端插入数据,假如容量也足够,插入操作不会移动object数组也不会进行扩容,此时的效率很高。 当通过index插入则需要移动数组,当容量不够时甚至需要扩容,此时插入效率慢。 二、删除效率为何是正常情况下 ...原创 2019-08-25 17:54:34 · 65 阅读 · 0 评论 -
集合2---linkedList
public class LinkedList<E> extends AbstractSequentialList<E> implements List<E>, Deque<E>, Cloneable, java.io.Serializable LinkedList继承AbstractSequentialList,实现List、De...原创 2019-08-25 17:30:26 · 75 阅读 · 0 评论 -
抽象类和接口
1、抽象类有构造方法。接口没有构造方法,但是接口和抽象类都不能实例化对象,因为包含没有定义的方法,但是可以声明抽象类/接口的引用指向子类/实现类的对象。 2、抽象类可以有普通属性/方法,静态属性/方法,抽象类中可以存在非抽象方法。接口中声明的属性在编译时都会默认加上public static final,接口中只有常量,接口中的方法只能被public修饰。在接口中只有方法的声明,没有方法实体(j...原创 2019-08-20 23:26:19 · 75 阅读 · 0 评论 -
继承、重载、重写
一、重载和重写 重载:方法名相同,参数不同(参数类型或者参数个数),可以存在不同的返回值 重写: 1、方法名相同 2、参数相同(参数类型和参数个数) 3、返回值类型为基本数据类型时:返回值类型需和父类相同。 返回值为引用类型时:返回值类型相同或者返回值类型是父类返回值类型的子类 4、访问修饰符相同或者比父类该方法访问修饰符权限大(public>protected>defa...原创 2019-08-20 21:10:09 · 184 阅读 · 0 评论 -
java异常相关
一、throw和throws区别: 1、throw在方法体中使用,throws在定义方法的括号后面使用 2、throw抛出具体的异常对象,throws抛出抽象的异常类。 二、try catch finally finally在实际业务中一般用来关闭流 try和finally中对数据的操作分为基本数据类型和引用数据类型。 1、基本数据类型: try中return一个值a=5,在fina...原创 2019-08-20 19:29:18 · 86 阅读 · 0 评论 -
super关键字
super表示父类,this表示对象本身 super用于访问父类中被子类隐藏或者重写(覆盖)的方法和属性。 super.方法(属性) 在类的继承中,子类的构造方法默认会有super()语句存在(隐式则默认调用父类无参构造方法)。相当于执行父类相应构造方法的语句,若把super()语句显示必须在构造方法的第一行。 子类构造方法要调用父类的有参构造方法,super不能省略,super()中括号需...原创 2019-08-20 19:11:36 · 72 阅读 · 0 评论 -
final关键字
final修饰:类、方法、变量 一、当final修饰类 该类不能被继承,类中所有的方法都会隐式指定为final,类中的成员变量不会隐式指定为final String、System是被final修饰的类 二、当final修饰方法 该方法不能被子类重写(覆盖),一个类的private方法会隐式的指定为final 三、当final修饰成员变量 必须要赋初始值,只能初始化一次,并且之后该变量...原创 2019-08-20 19:01:10 · 49 阅读 · 0 评论 -
内部类
一、内部类优点: 1、内部类对象可以访问创建它的对象的数据,包括私有数据 2、内部类不为同一包下的其他类所见,具有很好的封装性 3、可以方便的编写事件驱动 二、内部类的种类: 成员内部类、局部内部类、匿名内部类、静态内部类 1、成员内部类:无条件的访问外部类的成员变量和成员方法(包括private和静态) 内部类拥有和外部类同名的成员变量或成员方法时,就近原则。需要访问外部类成...原创 2019-08-20 00:06:19 · 106 阅读 · 0 评论 -
this关键字
一、this使用场景 1、this调用当前属性: 给类中的数据进行初始化时,通过this来赋值。javabean中 this.属性名=属性名(形参传过来的属性) 2、this调用方法(普通方法、构造方法) 构造方法只能调用一次,普通方法可以调用多次 普通方法:调用本类的普通方法(this.方法名) 构造方法:this调用必须是构造方法中的第一个语句。 public book()...原创 2019-08-19 22:02:23 · 59 阅读 · 0 评论 -
成员变量(全局变量)和局部变量
一、是什么? 成员变量:实例属性和类属性(static修饰) 局部变量:形参(方法括号中的参数)、方法局部变量(方法中定义的变量)、代码块局部变量(在代码块中定义的变量) 二、一些特点 成员变量:如果对象没有对成员变量进行初始化,系统会根据成员变量的类型自动初始化,int--0,boolean--false,自定义类型--null 成员变量作用域整个类 局部变量:局部变量在使用之前必须...原创 2019-08-19 21:14:17 · 419 阅读 · 0 评论 -
static关键字
static修饰 1成员变量,2方法,3,代码块 一、static修饰成员变量(静态变量): static修饰的成员变量也称为类属性。所有对象之间共享,jvm加载类时就已初始化,可以由类名或或者类对象直接调用 实例属性(非静态变量): 变量值属于单个对象,jvm执行创建对象代码时才初始化,只能由对象调用。 二、static修饰方法(静态方法): 被所有该类的对象共享,jvm加载类时为...原创 2019-08-19 21:01:48 · 61 阅读 · 0 评论 -
集合1---ArrayList
public class ArrayList<E> extends AbstractList<E> implements List<E>, RandomAccess, Cloneable, java.io.Serializable ArrayList继承AbstractList,实现List,RandomAccess(支持快速随机访问),Clo...原创 2019-08-23 00:32:34 · 65 阅读 · 0 评论