测试总结

测试小结:
1.面向对象编程的特点:继承性,封装性,多态性。
  重载:在同一范围中声明几个功能类似的同名函数,但是这些同名函数的形式参数(指参数的个数、类型或者顺序)
        必须不同,也就是说用同一个运算符完成不同的运算功能。
  重写:根据需要在子类中重写父类的方法。
2.构造器必须与类同名,方法也可以与类同名。构造器在一个对象被new时执行。
3.Java类里的类都可以用public、protected、private、abstract修饰符修饰,final不能被继承
4.内部类的访问:(1)外部类名.内部类名 变量名=new 外部类名().new 内部类名(); 
                (2)外部类名 外部对象名=new 外部类名();
                   外部类名.内部类名 内部类对象名=外部对象名.new 内部类名();
5.String不是关键字,assert(断言):用于单元测试
6.字符串的比较:"join"=="join";比较的是地址,常量都存在常量池中,它们指向常量池中的一个常量,所以地址相同
                 "join".equals("join");equals一般比较地址
                 "join"==new String("join");new会在堆中开辟空间,存放常量的地址,栈中存放这块空间的地址                            
                 "join".equals(new String("join"));比较的是值,在String中重写了equals()方法
7.整数默认为int型,小数默认为double型,若要定义long型,须在后面加L,若要定义float,在后面加lf
8.定义数组的几种形式:(1)int [] a=new int[5];
                      (2)int [] a=new int [] {0,1};
                      (3)int [] a={0,1};
   注意:int [] a;只能用于声明时初始化
         int [] arr;arr={0,1};//编译错误
9."+"用于字符串的拼接或数值的相加,从左向右,字符串优先
10.传值:传的是基本类型,通过参数传递给方法,传的是值的拷贝,影响函数体内的值而函数体外的值不变。
         即把A的数值传给B,改变B,A不会随之改变。B只是存了与A一样的值。
        public static void method1(int i){
          i= i+3;
         System.out.println("在方法内的值"+i);
          }
        public static void main(String[] args) {
        int i =5;
        method1(i);//传值
        System.out.println("调用之后的值"+i);
       }
   传址:传入的是对象的引用,通过参数传给方法,传的是地址的拷贝,若在函数体内,改变传入地址所指向的对象数据,
         会影响函数体外的对象。即把A的地址传给B,改变B,A同时跟着变,B存的是A的地址(类似电脑快捷方式)
         public static void method(String[] i){
           i[0]="abc";
          }
        public static void main(String[] args) {
           String [] a = new String[2];
           a[0]="aaa"; a[1]="bbb";
           for(int i= 0; i < a.length; i++){
            System.out.print(a[i] + "  ");
            }
          method(a);//传址
        System.out.println( "  ");
        for(int i= 0; i< a.length; i++){
            System.out.print(a[i] + "  ");
          }
        }
11.switch中能使用的数据类型(jdk1.7):short,byte,int,char,String,enum
                            不行的有:long,float,double,boolean
12.  .Throwable的子类有Exception(异常)和Error(错误),异常分为编译时异常和运行时异常                        
   编译时异常:FileNotFoundException,TimeOutException
   运行时异常:NullPointerException(空指针异常),ClassNotFoundException(指定类不存在),ArrayIndexOutOfBoundsException(数组下标越界), IndexOutOfBoundsException(索引越界)
   自定义异常:用户自己定义的,必须继承自Exception或其子类
   try...catch用于捕获异常,一个try可对应多个catch,小的在前,大的在后,Exception是所有异常的子类,最后写。单独的try...finally也可以
13,包装类:包装流有个特点,必须有原始的具体的IO对象,不能独立使用,如ObjectOutputStream,ObjectIputStream,都必须要有具体的输出流
           对象FileOutputStream,SockeObjectOutputStream,因为包装流本身不能真正完成输入或者输出过程,必须使用可以完成输入、输出流对象
           作为动作的真正执行者,包装流不过简化了调用者在输入、输出过程中的一些数据处理和特殊要求。
           包装者要和被包装者对象继承一个类或一个接口;包装者要有被包装者对象;对需要修饰的对象进行修饰
14.线程的状态:new  RUNNABLE  BLOCKED  WAITING  TERMINATED
15.接口可多继承接口,接口不能实现接口
16.抽象类和接口的比较                      

区别

抽象类

接口

关键字

class abstract

interface

别的类用关键字

extends

implements

继承

实现

不能

字段

常量,普通,类的字段

类的字段(static)

方法

普通方法,抽象方法

抽象方法

静态代码块

创建

不能直接实例化

不能直接实例化


17.静态变量(static):属于整个类,是公共的资源,可以用类名或对象去访问,在静态方法和普通方法中使用,加载类的时候加载

  实例变量:属于某个对象,是私有的,通过对象名去访问,在普通方法中使用,新建对象的时候加载

18.IO的四大类:InputStream  OutputStream Reader  Writer

按流向分为输入流和输出流,按单位分为字节流和字符流

19. Sleep ()、suspend ()和 wait ()之间有什么区别

 

sleep(ms)

Supend(暂停,挂起)

wait(ms)

所属

static类方法

对象方法

对象方法

使用要求

 

 

必须在同步里面

不释放

不释放

释放

CPU

释放

释放

释放

唤醒

时间到或中止

Resume(),开始

时间到或中止notify


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值