`
Wclimbing
  • 浏览: 3499 次
  • 性别: Icon_minigender_2
  • 来自: 长沙
最近访客 更多访客>>
社区版块
存档分类
最新评论

java总结

阅读更多

                                                         java阶段总结

.java基础

1.操作系统中配置java环境变量?

     打开C:\Program Files\java\jdk1.6.0_10\bin,并复制下路径

     打开我的电脑的属性\高级\环境变量,在变量PATH的值中粘贴下路径,并在路径最后添加分号即可。

2.对类名、属性名、方法名以及常量名命名的时候需要注意什么?

总规则:命名时要有意义

类名:①命名时只能包含数字、字母和下划线,不能以数字开头。

      ②首字母要大写,有多个单词的,每个单词的首字母要大写。

属性名:首字母要小写,有多个单词的,每个单词的首字母要大写。

方法名:同属性名。

常量名:全部字母要大写。

3.定义类名必须要和什么相同?

类名要和文件名相同。

4.Java编译和运行的命令与格式?

进入C盘:C:回车

进入文件:cd 文件名

编译:javac 文件名.java

运行:java 文件名

5.Java中的基本数据类型

int                  32bits

char                 16bits      

float                 32bits

byte                 8bits

boolean              true/false

long                 64bits

short                16bits

doublen              64bits

6.中有哪几种数据类型?

基本数据类型

引用类型(类类型String

7.String的常用方法有哪些?

String java中的一个类,有自己的方法和属性。

(1)字符串类型对象的定义方法

  String  s1=”字符串1”

  String  s2=new String(“字符串2”)

(2)方法

①把两个字符串首尾相接  s1+s2

   ②判断两个字符串是否相等

  boolean state=s1.equals(s2);

           ③判断两个字符串是否相等,且忽略大小写 

 boolean state=s1.equalsIgnoreCase(s2);

           ④判断一个字符串(s1)是否以另一个字符串(s2)结尾

boolean state=s1.endWith(s2);

           ⑤判断一个字符串(s2)在另一个字符串(s1)中第一次出现的位置

int index=s1.indexOf(s2);

⑥判断一个字符串(s2)在另一个字符串(s1)最后一次出现的位置

int index=s1.lastIndexOf(s2);

⑦测出一个字符串的长度

     int length=s1.length();

⑧截取字符串

     int start=2,end=5;

     String s=s1.subString(start,end);


二.类和对象
   辨析:类是对象的抽象,对象是具体到某一个的,可以先定义一个抽象的类,然后在类里面具体的定义对象进行初始化和方法的调用。

   定义类的方法:
   public class 类名{
     数据成员
     方法成员
   }

   创建对象的方法:
   类名 对象名=new 类名();(默认无参构造函数)
   类名 对象名=new 类名(形参列表);(重载含参构造函数)
  
   调用方法:
   对象名.方法名();(注意是否传入参数以及传入参数的类型、顺序、个数)
  
 代码示例  ========================================================================
   定义类
   public class Student{
    //定义属性
    private String name;
    //定义方法
    public void setname(String strName){
        name=strName;    }
    //主函数
     public static void main(String [] args){
         //定义对象
         Student stu=new Student();
         //调用设置名字的方法
         stu.setname("XXXX");
   =========================================================================


三.方法(构造函数)重载
   优点:可以通过参数的类型、个数、顺序的不同来实现不同方法的调用。
   注意:方法名必须相同,只有返回值类型不同的不能算作是重载。

四.构造函数
   目的:创建对象并赋予初值

   格式:名字必须与类名相同,且没有返回值(此处与函数方法不同)
   public 类名(形参列表){
       方法体:可以用this关键字(表示当前对象)
   }

   构造函数的重载会覆盖住类中原有的默认构造函数,如果需要无参构造函数,必须进行显式定义。

   ==========================================================================
   //默认的不含参构造函数
   public Student(){}
   //重载的含参构造函数
   public Student(String name){
       this.name=name;
   }
   ========================================================================== 



五.继承、重写、自动转型、多态
  (1)继承(extends关键字)
        public class 子类名 extends 父类名{}
        子类可以继承到父类的方法
        注意:子类和父类在同一包下,私有的属性和方法不可以被继承。
      子类和父类在不同包下:只能继承到公有的属性和方法。
   ==========================================================================
   public class textBook extends Book{
       方法体;
   }
   ==========================================================================
  (2)重写(overwrite)
     在子类中重新写父类中的方法,此时一定要是方法名字相同。在子类中创建的对象调用方法,如果在子类中重写了,就会调用已经重写的,否则就会去父类中调用。
  (3)自动转型
        1.直接转型:
父类名  对象名=new  子类构造函数名();
2.方法中自动进行转型:
子类名  对象名=new  子类构造函数名();
                 然后再用此对象调用方法,如果子类中有定义,则优先调用子类中的方法,否则再去父类中调用。
  (4)多态:在存在继承、重写、自动转型的情况下,要注意方法到底是调用的哪一个。

六.值传递与引用传递
   1.先定义一个变量A并赋初值,把A的值传递给B,那么改变B的值之后,A的值并不会发生改变。即值传递不会改变原来的值,因为AB占用的是两段内存。
   2.而引用传递传的是地址,AB共享一段内存,一旦某一个变量发生改变,那么另一个也会发生改变。

                                             
七.接口(一种特殊的类)

  1.定义接口(关键字interface)
    定义语法 public interface 接口名 extends 父接口名{   //注意(1)接口可以继承多个父接口,是多重继承(累只能有一个父类,是单重继承)

    public static final 数据类型  常量名  = 值;         //(2)在接口内可以定义常量数据成员
   
    public 返回值类型  方法名1([形参列表]);             //(3)可以定义函数,但是一定不能带有方法体,最后要以分号结束
    返回值类型  方法名2([形参列表]);          //(4)在接口中成员访问限定符默认的是public型,此处可以省去,且接口中都应该用public型
    }
    =============================================================================================
    定义接口
           
        public interface ListADT {
 /***
  * 自定义接口
  */
        //定义常量
        public static final count=0;
 //在队列末尾添加元素的方法
 public void add(Object element);
 //删除指定位置元素的方法
 public Object remove(int index);
 //替换指定位置元素的方法
 public boolean update(int index,Object elment );
 }
    =============================================================================================
    (5)接口中只可以含有常量和方法,没有构造函数、属性。
    (6)接口没有构造函数,故不能创建对象,但是可以用匿名内部类在接口中创建对象。
    =============================================================================================
    匿名内部类:在接口java.awt.event.ActionListener中创建对象al
     java.awt.event.ActionListener al=new java.awt.event.ActionListener(){
      public void actionPerformed(ActionEvent e){
       if(e.getActionCommand().equals("color")){
             ……
       }else{……
            }
       }
     };(最后以分号结束)
    =============================================================================================
    (7)在java中定义常量的方法一般是
       public static final 数据类型  常量名  = 值;常量名的命名一般使用大写字母。

  2.实现接口(关键字implements)
   实现接口的语法 public class 类名 extends 父类名 implements  接口名 (此处也可有多个父接口)
   注意实现接口一定要重写所有定义的方法,否则就会报错。
    =============================================================================================
   实现接口listADT
   public class ListImplements implements ListADT{
 //在队列末尾添加元素的方法
 public void add(Object element){
      ……
 }
 // 删除指定位置元素的方法
 public Object remove(int index){
     ……
     return null;
 }
 // 替换指定位置元素的方法
 public boolean update(int index,Object element){
            ……
     return true;
 } 
    }
    ============================================================================================

八.抽象类(关键字abstract)
   定义语法
   public abstract class 抽象类名 implement 接口名{       //注意(1)在抽象类里可以实现多个接口,继承接口

        访问限定符 abstract 返回值类型 方法名(形参列表);//(2)访问限定符可以是public或者是protevted,不能是private

   }
  
   抽象类中可以定义带有方法体的方法,不带方法体的方法,构造函数,属性等,但是也跟接口一样不能够创建对象。不同之处是,实现接口要重写接口中定义的所有方法,而抽象类不必重写所有的方法。

九.事件
   1.先确定事件源,就是事件所发生的组件。
   2.给组件添加动作监听器。
   3.当动作监听器接收到事件源所发生的事件后,通知监听器方法中绑定的事件处理类对象。
   4.事件处理对象调用处理方法,进行处理。

十.数组和队列
  1.数组
   数组通过下标进行索引,可以使用for循环。
   一维数组的定义方法
   (1)数组类型 [] 数组名=new 数组类型[长度]
   (2)数组类型 [] 数组名={……};
   (3)数组类型 [] 数组名=new 数组类型[]{……};
   (4)数组类型 [] 数组名;
      数组名=new 数组类型[]{……};
   二维数组的定义方法类似
   (1)数组类型 [][] 数组名=new 数组类型[长度]
   (2)数组类型 [][] 数组名={……};
   (3)数组类型 [][] 数组名=new 数组类型[]{……};
   (4)数组类型 [][] 数组名;
      数组名=new 数组类型[]{……};
  特点
   (1) 数组有且仅有一个属性length用来计算数组长度。
   (2) 数组的长度不能改变。

  2.队列
   队列也是用来存放数据的,可以改变长度,可以用接口来实现队列。(见接口的定义和实现的示例)
   (1)先定义一个借口,写出队列要实现的所有方法
   (2)实现接口。
   eg.增加队列元素的方法:先定义一个新的数组,使数组长度比先前的大一,然后把先前的数组复制到新的数组里,在最后添加新的元素,最后把这个新的数组赋值给先前的数组,那么这个数组的长度就增加了一个,在最后加入了指定的元素。

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics