Java基础

------------恢复内容开始------------

1、数组和对象作为参数传递实际传的是地址值

2、对象的内存变化

3、arrayList

  3.1<>代表泛型,装在集合中的元素全是统一的声明类型,只能是引用类型

  3.2基本类型和包装类对应

      byte Byte      short  Short     int  Integer   char  Character  float  Float   double  Double  boolean  Boolean

  3.3常用方法

     public boolean add(E)结果都是true   

     public <E> get(index)     

     public <E> remove(index)

     public int size()

4、接口 Java在接口中可以定义的方法:

    1)常量

  2) 抽象方法

    3)静态方法

 4)默认方法(用于对接口方法的扩充) 在接口中直接实现方法 接口实现类可以直接调用,也可以覆盖重写

    5)私有方法

5、多态 对象的多态性  父类的引用指向子类的对象

 成员变量:看左边  成员方法:看new的谁

 向上转型不能访问子类的特有方法 需要还原成向下转型  可以用instanceof判断是不是某个类的对象

6、泛型

  泛型类 public class<E>

  泛型方法 public <E> void method()

       泛型接口 public interface GenericInterface<E>

7、map集合的遍历方式

  1) entrySet() 返回set遍历set

      获取set集合:map.entrySet()

   获取迭代器:set.Iterator()

     获取Entry对象:map.Entry<> entry=it.next()

     获取键和值:getKey(),getValue()

  2) 必须重写equals和hashcode方法

      keySet()

      value=map.keySet()

      map.get(value)

8  ==和equals区别 ==比较的是值类型 equals比较的是引用对类型  值类型:存储在内存中的栈类型  引用类型变量在栈中存放的堆地址

  栈和堆的区别: 

    1.栈内存存储的是局部变量而堆内存存储的是实体;

            2.栈内存的更新速度要快于堆内存,因为局部变量的生命周期很短;

            3.栈内存存放的变量生命周期一旦结束就会被释放,而堆内存存放的实体会被垃圾回收机制不定时的回收

9 反射 将类的各个组成部分封装为其他对象

 Java编译经历的三个阶段 :1 .java文件生成.class字节码阶段  2 类加载阶段 将字节码封装成class对象 包括Filed成员变量 Constructor构造器 Method成员方法 3 运行时阶段

    获取class类对象的三种方法 1 class.forName()  2 类.class 3 对象.getClass()

    Class对象功能:

    1、获取功能:① 获取成员变量:getDeclaredField(String name) ②获取构造函数 getDeclaredConstructor(Class类对象) ③ 获取成员方法 getDeclaredMethod(class类对象)

  成员变量 :①get(Object) ② set(obj,value) ③setAccessible(True)暴力反射

    构造方法创建对象: getConstructor.newInstance()

    成员方法的执行:getMethod.Invoke()

10 注解 说明程序给计算机看  作用:1、生成doc文档  2、代码分析 3、编译检查

  JDK预定义的注解:@override:是否继承自父类  @Deprecated :是否过时 @SuppressWaning 压制警告 参数传递all

  自定义注解 :本质上是一个接口 继承Annotation接口  格式:public @interface 注解名称{}

  接口中的抽象方法 1 属性的返回值类型 1)基本数据类型 2)字符串 3)枚举  4)注解  5)以上类型数组  2 使用时给属性赋值 ①使用default关键字时 可以不进行赋值 ②只有一个属性需要赋值 且属性名是value时 可以省略  

  程序中使用注解  :1、获取注解定义位置的类对象  2、getAnnotation()获取指定的注解 3、调用注解中定义抽象方法

------------恢复内容结束------------

posted @ 2021-03-06 21:33  影的灰烬  阅读(30)  评论(0编辑  收藏  举报