亮亮小二吧 关注:4贴子:155

回复:亮亮我是来水帖的,你揍开。。。

只看楼主收藏回复

Object
--protected String toString(){}(类名+@+hashCode)
==
基础类型,除boolean外,不严格相等即返回true
引用类型,对象相同返回true
Object
--protected boolean equal(Object object){}
只接受引用类型,对象相同返回true
String
--public boolean equal(String string){}
只接受字符串类型,对象序列值相同返回true
类成员
未创建实例,类也可以调用类成员
类成员不能调用实例成员
单例类
令构造器权限为private,创建静态类方法调用构造器,创建静态属性缓存类实例。
保证一个类只能创建一个对象


85楼2016-10-18 12:35
回复
    final不能重复赋值
    final修饰成员变量:
    类成员:
    定义初始化默认值=》静态初始化模块=》系统随机指定
    对象成员:
    定义初始化默认值=》初始化模块=》构造器=》系统随机指定,的方式为final成员变量赋值
    不能在系统随机指定之后为final成员变量赋值
    final修饰局部变量:
    系统不对局部变量进行初始化
    final修饰基本类型--变量不能重新赋值
    final修饰引用类型--变量地址不能重新赋值
    /*
    可采用间接方式防止final修饰的引用类型变量被重新赋值:
    用构造器初始化类对象时:对传入的引用型变量参数进行重建(new)
    */
    final修饰基本类型变量+变量在编译前已赋初值=常量
    final修饰方法:
    方法不能被重写
    private修饰方法:方法不能被重写,只能被所在类调用
    final,private修饰的方法均可以重载
    final修饰类:
    类不能被继承
    final+private修饰类:不可变类(实例属性不可变)
    缓存类实例:
    参见包装类的
    构造方法&&valueOf()方法


    86楼2016-10-18 13:53
    回复
      广告
      立即查看
      抽象类
      定义:有抽象方法的类
      特点:1、抽象类或抽象方法用abstract修饰2、抽象方法无方法体,抽象类无法创建实例(构造方法仅能被子类调用)
      用途:令父类包含待重写的方法,子类重写后,可以在多态条件下,通过父类对象调用子类方法。即抽象类由其子类提供实现。
      abstract不能与final共同使用
      abstract不能与static共同使用
      abstract不能与private共同使用
      abstract不能修饰属性


      87楼2016-10-18 17:47
      回复
        接口
        用interface定义,用implement调用
        接口用public修饰或省略
        接口有n个父接口,子类只能是接口
        接口成员有:常量,抽象实例方法,内部类,内部接口,枚举类。用public修饰或省略
        接口成员变量用public final static修饰(常量)
        接口方法用public abstract修饰,不能使用static修饰


        88楼2016-10-18 17:59
        回复
          接口类可以用其实现类实现,即多态。
          接口对象同样继承Object类


          89楼2016-10-18 18:08
          回复
            面向接口编程
            工厂模式:将接口类的组合与实现相分离,即不在接口被调用的类中实现接口类,而在工厂类中实现并返回接口类对象,降低代码的耦合度,提高代码的重用性。
            命令模式:将数据与处理数据的方法相分离,处理数据的方法封装在接口类中,需要时将接口类对象以参数的形式传入,对数据进行处理,作用是增加了处理方法的灵活度。


            90楼2016-10-18 21:56
            回复
              内部类
              作用:要求权限为--仅允许外部类和自身访问时使用。
              特点:
              内部类可以访问外部类的所有成员,访问方式是:外部类对象(或this).外部类成员,这里外部类对象可以省略。内部类不能访问外部类以外的数据。
              外部类访问内部类,先建立内部类对象再用:内部类对象.内部类成员,的方式进行访问。
              匿名内部类
              用途:只实例化一次的类可用匿名内部类表示
              匿名内部类和局部内部类不是类成员
              成员内部类分为静态内部类和非静态内部类
              非静态内部类不允许静态方法,静态属性,静态初始化块
              静态内部类允许静态及非静态数据,但静态内部类对象不允许访问外部类的非静态数据,允许外部类以静态内部类+静态内部类成员的方式访问静态内部类成员。
              接口允许定义静态内部类
              内部类不能重写
              局部内部类属于方法
              匿名内部类:
              不能是抽象类或接口
              必须且仅能继承一个抽象类或实现一个接口
              在实例化的同时重写抽象类或接口的方法


              91楼2016-10-18 23:30
              回复
                闭包、回调
                闭包
                是一类对象,通过该对象可以调用另一个对象中的private变量或方法
                在java中,外界可以通过调用非静态内部类对象的方法,调用其外部类的private变量和方法。
                回调
                是指由其外部类的public方法给出内部类的实例再通过内部类的方法反过来调用外部类的方法这种模式叫做回调。
                枚举类
                类的对象有限且固定,可以将类对象视为常量,必须用public static final修饰。
                用途:用定义引用型常量间接定义基本型常量,代替直接定义基本型常量。防止基础类型的运算生效。
                特点:构造器权限为private,禁止创建新的对象。可以直接访问常量对象或用类提供的静态方法访问常量对象。提供方法用来访问常量对象的成员常量。
                以enum为关键字,继承Enum类,不继承Object类
                switch允许以Enum对象充当参数表达式,允许case表达式的值省略Enum类名使用其对象名。


                92楼2016-10-19 12:10
                回复
                  广告
                  立即查看
                  java.long.Enum
                  --public Enum[] values(){}
                  --int compareTo(Enum e){}
                  --String name(){}
                  --int ordinal(){}
                  --String toString(){}
                  --public static Enum<T> valueOf(Class<Enum<T>, String name>){}


                  93楼2016-10-19 13:03
                  回复
                    枚举类的构造器必须是private权限,创建实例时可以简写为 常量(参数1,参数2,……)
                    枚举类实现接口的方法是在枚举类中创建枚举内部子类的同时实例化,相当于匿名内部子类。
                    枚举类包含抽象方法起到与接口,抽象类相同的作用。
                    垃圾回收
                    1、只回收对象
                    2、生命周期:激活-》去活=》死亡=》回收
                    其中激活状态的对象失去所有引用时,进入去活状态。去活状态的对象调用其成员方法finalize()方法后若没有在finalize中实现该对象的引用则对象进入死亡状态。进入死亡状态的对象会被回收。
                    对象可以被类属性变量,实例属性变量,局部变量引用。对象的权限不由构造器或类的权限决定,由对象引用的权限决定。


                    94楼2016-10-19 19:45
                    回复
                      强制回收
                      System
                      --public static gc(){}
                      Runtime
                      --public gc(){}
                      对象通过引用(指针)被调用
                      引用分为:StrongReference,SoftReference,WeakReference,PhantomReference
                      默认的引用类型为StrongReference
                      SoftReference类引用的被引用对象在系统内存不足时被回收
                      WeakReference类引用的被引用对象等同于失去引用的对象
                      SoftReference类引用与WeakReference类引可以通过get方法获得其引用的对象,可以和ReferenceQueue联合使用
                      PhantomReference类引用的被引用等同于失去引用的对象,不能通过引用获得其引用的对象,必须和ReferenceQueue联合使用
                      引用队列
                      用java.lang.ref.ReferenceQueue表示,对于软引用,弱引用,虚引用,在系统回收被引用对象后,会将引用放入引用队列。通过引用是否进入引用队列判断对象是否被系统回收。


                      95楼2016-10-20 12:57
                      回复
                        java默认使用jar.exe压缩或执行.class文件
                        也可以使用第三方编译器编译.class后执行或使用java.exe编译成批处理文件执行。


                        97楼2016-10-20 15:33
                        回复
                          public interface Collection<Object>
                          --public abstract boolean add(Object o){}
                          --public abstract boolean addAll(Collection c){}并
                          --public abstract void clear(){}
                          --public abstract boolean remove(Object o){}
                          --public abstract boolean removeAll(Collection c){}差
                          --public abstract boolean retainAll(Collection c){}交
                          --public abstract boolean contains(Object o){}
                          --public abstract boolean containsAll(Collection c){}
                          --public abstract boolean isEmpty(){}
                          --public abstract Iterator iterator(){}
                          --public abstract Object[] toArray(){}


                          98楼2016-10-21 02:07
                          回复
                            java集合接口由collection和map派生,collection的子接口有set,list,queue
                            public Interface Iterator<Object>
                            --public abstract boolean hasNext(){}
                            --public abstract Object next(){}
                            --default void remove(){}
                            Iterator采用fail-fast机制,依赖于collection,提供一套方法用以获得Collection元素的引用,只能通过iterator自身的方法remove修改集合,通过collection的方法修改集合将抛出异常。


                            99楼2016-10-21 11:51
                            回复
                              广告
                              立即查看
                              Set是无序不重复列表,通过重写equals()判断对象是否等值,返回true则添加失败。
                              HashSet使用hash算法,多线程下不同步,元素可以为null。hashset通过equals()和hashCode()判断元素是否重复,通过hashCode决定元素添加位置。
                              HashSet提供存储元素的地址称为bucket
                              hashcode的计算方法是将对象元素的属性值加权求和
                              令equals()返回true,hashCode()返回false,将在集合的不同bucket中存入相同值的对象,
                              令equals()返回false,hashCode()返回true,将在集合的相同bucket中存入不同值的对象,
                              通过改变HashCode集合对象的属性值的方法可以使HashSet中出现重复对象元素,由于HashCode中的元素是通过两个方法共同定位的,所以这种情况产生的对象元素是无法定位的。
                              LinkedHashSet使用链表保证集合按元素添加顺序被访问。
                              TreeSet实现SortedSet接口,SortedSet继承Set接口


                              100楼2016-10-21 18:56
                              回复