草庐IT

注解与反射

一、概念1.内置注解(1)@Override重写注解加上此注解必须重写父类的方法(2)@SuppressWarnings("all")的作用除了上图可以放在方法名上,此外它还可以放到类名上用于镇压所有的警告(3)@Deprecated注解虽然是已经过时的,但是任然可以运行使用2.元注解(1)@Target注解target源码如下ElementType源码如下target表示该注解可以应用于哪些地方,比如下图value里只写了方法类型,该注解就只能用在方法名上,放在类名上就会报错,而当在value里添加了类的类型之后,该注解就可以应该用于类名上(2)@Retention注解Retention表示

IO流详解

一、IO流概述1.原理2.流的分类3.流的体系,蓝底框为重点掌握的二、IO流操作1.节点流-字符流(1).FileReader读入数据的基本操作点击查看代码packagecom.Tang.io;importorg.junit.Test;importjava.io.File;importjava.io.FileNotFoundException;importjava.io.FileReader;importjava.io.IOException;publicclassIOTest{@Testpublicvoidtest(){FileReaderfr=null;//为了保证流资源一定可以执行关闭操

JVM详解

一、JVM的位置及体系结构    JVM作用在操作系统之上,而Java程序作用在jvm之上,其他的程序则与jvm并列二、类加载器,及双亲委派机制1.类加载器作用:加载Class文件->newStudent();实例的引用放在栈里,具体的对象放在堆里点击查看代码packagecom.Tang.jvm;publicclassCar{publicstaticvoidmain(String[]args){Carcar1=newCar();Carcar2=newCar();Carcar3=newCar();System.out.println(car1.hashCode());System.out.pr

泛型

一、自定义泛型类点击查看代码packagecom.Tang.set.generic;importorg.junit.Test;//关于自定义泛型类、泛型接口;泛型方法publicclassGenericTest{@Testpublicvoidtest(){//如果自定了泛型类,实例化没有指明类的泛型,则认为此泛型类型为Object类型//要求:如果定义了类是带泛型的,建议在实例化时要指明类的泛型//建议实例化时指明类的泛型Orderorder=newOrder("orderAA",1000,"order:AA");//一旦定义了泛型约束类型为String,则Order类中的T都是String类

注解与反射

一、概念1.内置注解(1)@Override重写注解加上此注解必须重写父类的方法(2)@SuppressWarnings("all")的作用除了上图可以放在方法名上,此外它还可以放到类名上用于镇压所有的警告(3)@Deprecated注解虽然是已经过时的,但是任然可以运行使用2.元注解(1)@Target注解target源码如下ElementType源码如下target表示该注解可以应用于哪些地方,比如下图value里只写了方法类型,该注解就只能用在方法名上,放在类名上就会报错,而当在value里添加了类的类型之后,该注解就可以应该用于类名上(2)@Retention注解Retention表示

IO流详解

一、IO流概述1.原理2.流的分类3.流的体系,蓝底框为重点掌握的二、IO流操作1.节点流-字符流(1).FileReader读入数据的基本操作点击查看代码packagecom.Tang.io;importorg.junit.Test;importjava.io.File;importjava.io.FileNotFoundException;importjava.io.FileReader;importjava.io.IOException;publicclassIOTest{@Testpublicvoidtest(){FileReaderfr=null;//为了保证流资源一定可以执行关闭操

集合-List接口常用实现类的对比

1.collection接口:单列集合,用来存储一个一个的对象2.list接口:存储有序的、可重复的数据。--->"动态数组",替换原有的数组    (1)Arraylist:作为list接口的主要实现类,底层使用Object数组elementData存储底层源码分析:    jdk7:        ArrayListlist=newArrayList();底层创建了一个容量为10的数组        list.add(123)//elementData[0]=newInterger(123);        ...        list.add(11)//如果此次导致添加底层elemen

集合-List接口常用实现类的对比

1.collection接口:单列集合,用来存储一个一个的对象2.list接口:存储有序的、可重复的数据。--->"动态数组",替换原有的数组    (1)Arraylist:作为list接口的主要实现类,底层使用Object数组elementData存储底层源码分析:    jdk7:        ArrayListlist=newArrayList();底层创建了一个容量为10的数组        list.add(123)//elementData[0]=newInterger(123);        ...        list.add(11)//如果此次导致添加底层elemen

接口的定义和实现

1.接口的定义    (1)接口是通过interface关键词定义的,且接口需要有实现类,在接口中不能有方法体,只能有一些抽象的方法。    (2)接口中所有的定义都是抽象的默认为publicabstract,可以不写。2.接口的实现    (1)实现类的末尾一般用接口名+impl结尾,类可以通过implements关键词实现接口publicclassUserServiceImplimplementsUserService    (2)实现接口的类,必须重写接口中的方法    (3)Java中类虽然都是单继承,但是可以通过接口实现多继承。3.接口的作用    (1)是一种约束,在接口中并不能完

抽象类详解

1.抽象类的形式    abstract就是抽象,只要一个类前面加上了abstract,则这个类就是抽象类    (1)一个方法如果不写函数体则可能就会报错,如下图:       想要不写函数体而且还要不报错,则一个方法就是加上abstract变成抽象方法。抽象方法就是只有名字,没有方法的实现。2.抽象类方法的实现       (1)抽象类的所有方法,继承了它的子类都必须要实现它的方法,除非子类也是抽象类(就让子子类去实现它的方法),否则会报错,如下图3.抽象类的特点       (1)不能new这个类,只能靠子类去实现它       (2)抽象类中可以有一些普通的方法,但是抽象方法必须要在抽