栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

136、Java基础

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

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. 非静态变量(实例变量):如果我们创建了一个类的多个对象,那么每个对象都有它自己该有的非静态变量。当你修改其中一个对象中的非静态变量时,不会引起其他对象非静态变量值改变。

 

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/425249.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号