java基础加强知识点

来源:互联网 发布:自动打码软件 编辑:程序博客网 时间:2024/06/01 08:41
1.增强的for循环:
  循环对象必须实现Iterable接口 内部变量可以使用修饰符;
2.可变参数:
  必须放在方法参数列表最后 public static int add(int i,int... args),可变参数以数组方式使用;
3.override 和 overload区别:
override(重写) 
1、方法名、参数、返回值相同。
2、子类方法不能缩小父类方法的访问权限。
3、子类方法不能抛出比父类方法更多的异常(但子类方法可以不抛出异常)。
4、存在于父类和子类之间。
5、方法被定义为final不能被重写。
overload(重载)
1、参数类型、个数、顺序至少有一个不相同。  
2、不能重载只有返回值不同的方法名。
3、存在于父类和子类、同类中。
4:享元设计模式:
Integer m = 13;
Integer n = 13;
那么m == n,这是同一个对象
Integer m = 137;
Integer n = 137;
那么m != n,这不是同一个对象
Integer包装类 -128~127都是同一个对象
这种把不变动变量,指向同一对象的方式称为享元设计模式
5.枚举:
6.反射:
  九个预定义的Class对象:
  8种基本类型都有其.class对象Class,另外有void.class也有Class对象;
  
  基本类型包装类和基本类型的Class对象是不一样的,如:
  Integer.class != int.class;
  但是基本类型包装类包装的基本类型字节码是相同的:
  Integer.TYPE ==int.class
  
  得到Class对象的三种方式:
  package com.franky.reflex;
  class Perosn{}
  方式一 Person.class
  方式二 new Person().getClass();
  方式三 Class.forName("com.franky.reflex.Person")
  
  方式三比较常用,使用时如果该类的字节码没有加载到虚拟机那么类加载器(classLoader)会进行加载并缓存,然后返回该字节码对象,
  如果已经加载,那么返回虚拟机缓存中已有的字节码对象;
  三种得到Class对象的方式得到的Class对象都是一个;
  
0 0
原创粉丝点击