136、Java基础

一、八种基本数据类型

在这里插入图片描述

在这里插入图片描述 

二、列表  

  • List 以特定的顺序保存元素。List中有两种类型的列表:
  1. ArrayList随机访问快,插入删除慢
  2. LinkedList插入删除快,但是随机访问慢。还添加了作为栈、队列、双端列表的方法,可以直接作为栈来使用,遵守“后进先出,先进后出”的原则,其中有几个常用方法:
    romove() romovefirst()返回列表头部并移除
    addfirst() add() addlast()插入到列表的尾部
    getfirst() element() peek()返回列表的头部
  • Queue 链表,只能从一端插入对象,从另一端取出 遵循先进先出原则;
  • Set 元素不能重复。HashSet;
  • Map 键值对插入。HashMap、TreeMap;

三、重写与重载的区别

重载和重写都是实现多态的方式,区别在于重载实现的是编译时的多态性,而重写实现的是运行时的多态性

  1. 重写:发生在子类与父类之间,方法名、参数、返回类型都相同, 对方法体进行修改。
  2. 重载:发生在一个类中,方法名相同,参数不同。对返回类型没有要求

四、java注解与反射

(1)注解

注解说白了就是对程序做出解释,与我们在方法、类上的注释没有区别,但是注解可以被其他程序所读取,进行信息处理。(注解写在方法上方)

  • 内置注解
  1. @Override:这个应该都不陌生,修饰方法,表示打算重写父类中的方法声明。
  2. @Deprecated:使方法被划一道横线,表示废弃。
  3. @SuperWarnings:写程序时,可能会报很多黄线的警告,该注解用来隐藏警告。
  • 自定义注解   格式:public @interface 注解名 { 定义体 }
  • 元注解

 (2)反射

JAVA反射机制是在运行状态中,对于任意一个类都能够知道这个类的所有属性和方法;对于任意一个对象,都能够调用它的任意一个方法和属性;这种动态获取信息以及动态调用对象方法的功能称为java语言的反射机制。

反射就是把java类中的各种成分映射成一个个的Java对象

反射的原理在与class对象。Class对象的由来是将class文件读入内存,并为之创建一个Class对象。

获取Class对象的三种方式:

  1. 对象.getClass();

  2. 任何数据类型(包括基本数据类型)都有一个“静态”的class属性

  3. 通过Class类的静态方法:forName(String  className)(常用)


		Student stu1 = new Student();//这一new 产生一个Student对象,一个Class对象。
        //方法一:getClass获取Class对象
		Class stuClass = stu1.getClass();
		System.out.println(stuClass.getName());
		
		//方法二:class
		Class stuClass2 = Student.class;
		
		//方法三:forName
		Class stuClass3 = Class.forName("fanshe.Student");//注意此字符串必须是真实路径,就是带包名的类路径,包名.类名

五、java内存模型中栈与堆的联系与区别

联系:栈中定义的引用变量保存堆中目标对象的首地址
区别:

  1. 管理方式:栈的内存空间自动释放,而堆内存空间的释放需要垃圾回收
  2. 空间大小:一般情况下,栈的空间比堆的空间占用要小
  3. 碎片相关:栈产生的碎片远小于堆
  4. 分配方式:栈空间支持静态分配(编译器分配好了)和动态分配,堆空间仅支持动态分配
  5. 效率:栈的效率比堆高

六、static,final关键字

  • final
  1. 修饰类:当用final修饰一个类时,表明这个类不能被继承
  2. 修饰方法:方法不能被重写可以重载多个final修饰的方法)
  3. 修饰变量:当final修饰一个基本数据类型时,表示该基本数据类型的值一旦在初始化后便不能发生变化;如果final修饰一个引用类型时,则在对其初始化之后便不能再让其指向其他对象了,但该引用所指向的对象的内容是可以发生变化的。
  •  static
  1. 静态变量(类变量):静态变量被所有的对象共享,也就是说我们创建了一个类的多个对象,多个对象共享着一个静态变量,如果我们修改了静态变量的值,那么其他对象的静态变量也会随之修改
  2. 非静态变量(实例变量):如果我们创建了一个类的多个对象,那么每个对象都有它自己该有的非静态变量。当你修改其中一个对象中的非静态变量时不会引起其他对象非静态变量值改变

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值