摘要: 1、Integer是int的包装类,int则是java的一种基本数据类型 2、直接给Integer变量赋值,实际是对象的引用,相当于实例化了对象生成一个指针指向此对象,而int则是直接存储数据值 3、Integer的默认值是null,int的默认值是0 术语一点讲:Integer a = 200; 阅读全文
posted @ 2018-04-03 10:36 一字节 阅读(521) 评论(0) 推荐(0) 编辑
摘要: 抽象类: 1、抽象类的方法可以不包含抽象方法,抽象方法所在的类一定是抽象类 2、抽象类的抽象方法只定义,不实现,由继承他的子类来实现,如果子类也是抽象类,则可以也不实现,反之子类必须实现父类的抽象方法 3、抽象方法不能是private,不然子类没办法访问的 4、抽象类记得不能实例化对象来访问 接口: 阅读全文
posted @ 2018-04-02 13:49 一字节 阅读(195) 评论(0) 推荐(0) 编辑
摘要: 1 public static void show(Animal1 a){ 2 a.eat(); 3 if (a instanceof Cat){//判断a是哪个类new出来的对象 4 Cat cat =(Cat)a; //因为a是Animal1的对象,它可以指向猫或者狗,所以到了这一步得指向相应的类对象 5 ... 阅读全文
posted @ 2018-03-30 17:50 一字节 阅读(149) 评论(0) 推荐(0) 编辑
摘要: 调用 执行结果: TestB静态代码块TestA静态代码块TestA构造函数初始化代码块TestB构造函数TestC静态代码块 PS:先初始化属性然后才是静态初始块,然后是初始块,然后是构造方法 阅读全文
posted @ 2018-03-30 15:45 一字节 阅读(240) 评论(0) 推荐(0) 编辑
摘要: 单继承也就是一个子类只有一个父类 多继承就是一个子类可以有多个父类 继承可以使用 extends 和 implements 这两个关键字来实现继承,而且所有的类都是继承于 java.lang.Object,当一个类没有继承的两个关键字,则默认继承object(这个类在 java.lang 包中,所以 阅读全文
posted @ 2018-03-30 11:26 一字节 阅读(9489) 评论(0) 推荐(0) 编辑
摘要: 重写:1、在同一个包中,父类的private和final的方法不能被子类重写 2、不在同一个包,则只能重写非final的protected和public父类的方法 3、对同一个东西进行重新写,所以必须同名同参同返回值类型 4、重写出来的方法的访问权限不能比父类低(依赖于父类的访问权限) 当在子类中要 阅读全文
posted @ 2018-03-30 11:07 一字节 阅读(162) 评论(0) 推荐(0) 编辑
摘要: 在线程安全上,StringBuilder是线程不安全的,而StringBuffer是线程安全的 如果一个StringBuffer对象在字符串缓冲区被多个线程使用时,StringBuffer中很多方法可以带有synchronized关键字,所以可以保证线程是安全的, 但StringBuilder的方法 阅读全文
posted @ 2018-03-29 16:02 一字节 阅读(130) 评论(0) 推荐(0) 编辑
摘要: 1、一个类不能同时被 abstract 和 final 修饰。 2、如果一个类包含抽象方法,那么该类一定要声明为抽象类,否则将出现编译错误。 3、抽象类可以包含抽象方法和非抽象方法。 4、抽象方法是由子类来实现。 5、抽象方法不能被声明成 final 和 static。 6、任何继承抽象类的子类必须 阅读全文
posted @ 2018-03-29 15:48 一字节 阅读(227) 评论(0) 推荐(0) 编辑
摘要: static+变量名:定义在类内的话就在类内全局都可使用(定义为全局变量的时候,便在整个.java文件中都可调用),且值可以被改变 final+变量名:定义在类内的话就在类内全局都可使用,值一旦开始赋值,则不会也不可在发生改变 阅读全文
posted @ 2018-03-29 15:11 一字节 阅读(115) 评论(0) 推荐(0) 编辑
摘要: 1、Static是静态的意思,如果main函数是static类型的,则新写一个类的时候,成员函数或者成员变量如果不是static类型的,则不能通过“类名+.”的方式直接调用,必须通过手动new一个对象,通过"对象+."的方式来访问 2、写了一个不带static的类(即动态类),在main函数中给这个 阅读全文
posted @ 2018-03-29 14:45 一字节 阅读(160) 评论(0) 推荐(0) 编辑