首页 > 技术文章 > Java基础3

only666 2020-02-08 22:22 原文

unit5 类的使用

1.内部类:

成员内部类:内用外随意,外用内借助内部的对象

局部内部类:(包含匿名内部类)

匿名内部类:

补充:类作为成员变量,接口作为成员变量,接口作为成员方法

类的继承:extends  调用父类:super

 

2.Object类:java.lang.Object

方法:public String toString();  public booelan equals(Object obj);

String s = person.toString();  boolean b = person.equals(person1);
@Override
public boolean equals(Object o) {
if (this == o) return true;
//getClass() != o.getClass()
// 使用反射技术,判断o是否是Person类型的,等效于obj instanceof Person
if (o == null || getClass() != o.getClass()) return false;
Person person = (Person) o;
return Objects.equals(name, person.name);
}

3.Date类:java.util.Data

时间原点:1970-01-01-00:00:00

方法:

System.out.println(System.currentTimeMillis());   毫秒
Date date = new Date();    日期
Date date = new Date();
long time = date.getTime();

DateFormat类:日期格式化,日期解析,抽象类      SimpleDateFormat类:子类,用来创建对象

成员方法:format()       parse()

Calendar类:抽象类,无法直接创建对象使用

方法:getInstance() ,用来创建对象,返回其子类的对象

成员方法:

Calendar instance = Calendar.getInstance();
int year = instance.get(Calendar.YEAR);
instance.set(Calendar.YEAR,1996);
instance.add(Calendar.YEAR,2);

4.System类:java.lang.System,无需导包

方法:

5.StringBuilder类:java.lang.String;    字符串不可以改变(底层被final修饰),但是字符串缓冲区内容可以改变

他在内存中始终是一个数组,占用空间少效率高;如果超出则会自动扩容

方法:

链式编程:一直点方法、、、

6.包装类:基本数据类型4类8种,包装类同理

装箱&拆箱:

自动装箱&自动拆箱:自动相互转换

基本类型和字符串类型的转换:

7.Collection类:数组长度固定,集合可变;数组类型一致,集合存储对象,类型可以不一致

集合框架api:Collection{<E>

共性方法:

8.Iterator接口=迭代器:遍历集合时候使用,取出元素再判断,就是迭代

foreach=增强for循环:底层也是迭代器,目标只可以是集合或者是数组

9.泛型Generic:一种未知的数据类型,就是不确定,E:element    T:type

好处:避免了类型转换的麻烦,把运行期的异常提升到了编译期

坏处:泛型什么类型,只能存什么类型

类:ArrayList<E>

public class Generic<E>

方法:定义在方法的修饰符和返回值类型之间

public <M> void method(M m)

接口:接口+实现类+测试类。。。

public interface GenericInterface<I>
public class GenericImpl<I> implements GenericInterface<I>

泛型通配符:<?>    代表不确定数据类型,此时只能接收数据,不能存储数据

public static void method(ArrayList<?> list) {
//使用迭代器遍历集合
Iterator<?> it = list.iterator();
while(it.hasNext()){
Object obj = it.next();
System.out.println(obj);
}
}
PS:受限泛型
上限限定:? extends E ?只能是E的孩子或者本身
下限限定:? super E   ?只能是E的父亲或者本身

10.数据结构:栈,队列,数组,链表,红黑树

 

推荐阅读