初级阶段学习总结

系统 1786 0

学习总结


1. 类和对象

    一个月来,我所做的就是编写一个个类,并用这些类创建对象,现在对于类和对象我已经有了初步的理解。

   首先, 类是一个模板 ,用来生成具体对象。类中定义了具体对象所共有的属性(形态描述)和方法(行为和功能)。

   其次, 类是一种数据类型

   创建类: public  class  ClassName{                         

                 ........
 
                 }

   创建对象通过关键字new:如果类中没有重写构造器   ClassName  cn =  new  ClassName() ; 

  

2.数据类型

   数据类型主要包括 基本数据类型 类类型 2种。

   Java中一共有8种基本数据类型:byte,short,int,long,float,double,char,Boolean

                     所占字节数分别为:  1    ,    2  , 4 ,  8   , 4   ,    8    ,   2   ,    1

   字符串类型不属于基本数据类型,在Java中字符串类型被定义成类,但可以被直接引用。


3.值传递和引用传递

    值传递 : 在Java中,如果方法中的参数是基本数据类型,那么就是值传递, 接受的是数值 。当参数接受了基本数据变量所传递的值以后,就与传递这个值的标量没有关系了。下面是一个例子:

                  private  int   x = 5 ;

                  num =  method(x);

                  ...............

                  public  int   method(int  x ){

                  x *=  10  ;

                  return  x  ;

                  }

                  System.out.println("x="+x + "  num="+num);

                  运行后x=5 , num=50;


   引用传递 :如果参数是一个对象,那么就是引用传递, 接受的是一个对象的引用地址 ,指向代表这个参数的对象,任何对这个参数的改变都是对那个对象变量的改变。下面是一个例子:

                

                 SomeClass  sc = new SomeClass(5);//对对象sc的变量x赋初值5;

                 method(sc);

                 .................

                  public void method(SomeClass sc){

                            sc.setX(50);//将一个SomeClass类的对象的属性值x赋值为50 ;

                  }

                  运行后sc的属性x值为50;



4.构造器和方法

    构造器 的主要作用是在创建对象的时候对其变量初始化。其格式如下:

                 public  ClassName(param1,param2...){

                  ..............

                }

    构造器名和类名必须相同,不允许有返回值,也不用void。

    构造器可以重载,即一个类可以有多个不同的构造器。

    构造器重载 :每个构造器和其他构造器的参数个数或则参数次序排列不同。


    方法 :方法就是对象的行为,执行对象要进行的运算与操作。格式如下:

                public  void(或者任一数据类型) method(param1,param2......){

                ...................

                }

   若方法有返回值,要满足所有情况下对返回对应数据类型的值。

 

    方法重载 与构造器重载规则相同。

 

    多态 : 子类可以重写继承父类的方法,但该方法的访问权,返回类型,方法名,参数必须相同,方法的实现不同。

   



5.接口

    接口和类有所不同,类对其对象提供了具体了具体的运算与操作代码,而接口只是对实现该接口的类提供了一些协议,有点像所有实现一个接口的类共享该接口的方法与常量。 接口中只规定静态常量,方法不能有实现代码

   如下是一个创建接口的例子:

                public  interface  InterfaceName{

                static  final  int  price =  8 ;

                public  void  calculateTotal(int  quantity ,int   price ) ;

                ..........

               }



6.队列

 

   队列和数组不同,数组是一组相关元素的集合,这些元素必须是相同的类型,可以是基本变量类型,也可以是对象 。

   数组一经创建,其元素类型和大小就被确定,不可以再更改。

   但是很多时候,只使用数组无法解决问题,比如通讯录的存储,无法得知要存储多少个号码,若是数组长度定义过大就

   太浪费内存,于是就有了队列。可以随意添加元素,其长度自动增加,也可以删除,在指定位置插入删除元素。 队列其实

   是数组的一种运用。

 

   如下是一个基本队列的类:

 public class Que {
 private String sa[] = new String[0] ;
 
      //增添元素至最后一位
      public void add(String s){ //复制sa中的值到s2
         String[] s2 = new String[sa.length+1];
         for(int i=0;i<sa.length;i++){
          s2[i] = sa[i];
         }
         s2[sa.length] = s ;   // 将要添加的值加到s2的最后一位
         sa = s2 ;
    }
    
     //得到队列的大小
    public int getSize(){
     return sa.length ;
    }
    
    //得到指定位置的元素值
    public String  getAtIndex(int index){
     return sa[index];
    }
     
    //在指定位置添加元素    

    public void add(int index , String s){
     String[] s3 = new String[sa.length+1] ;
     int i;
     //得到index位之前sa中de元素值,复制到s3中
     for(i=0;i< index ;i++){
      s3[i] = sa[i] ;
     }
      s3[index] = s ;    //将 s 添加到 index为上
     for(i=index+1 ; i<s3.length ;i++){
      s3[i] = sa[i-1] ;
     }
        sa = s3 ;
    }
    
    //删除队列指定位置上的元素     

    public void remove(int index ){
     String[] s4 = new String[sa.length-1] ;
     int i ;
     //复制index位之前的元素到s4中
     for(i =0 ;i<index;i++){
      s4[i] = sa[i] ;
     }
     //复制index位之后的元素到s4中
     for(i=index ;i<s4.length ;i++){
      s4[i] = sa[i+1] ;
     }
        sa = s4 ;
    }
   }

   

 

 这是一个基本队列,但是每次添加一次元素,就要新建一个数组,程序运行所需的时间长,于是就有了 队列的优化 ,使程序更加友好。比如:可以初始化数组sa的长度,设置每次队列长度的增加值。

  队列的优化问题主要要注意数组越界问题。比如,增添元素时要判断是否超出sa的长度,在指定位置删除第index个元素时要判断index是否超出队列的size等等。  由于时间有点晚了,代码我就不敲了。

 

 

7.Swing组件的继承体系

   所有的swing组件都继承于javax.swing.JComponent这个抽象类,这样做的好处就是可以 规范所有JComponent类的子类的方法属性,使之拥有一些比较统一的方法

 

 

8.文件格式

   文件格式是电脑存储文件时对数据流采取的不同编码方式,不同的文件格式读入读出数据的方式不同,如果读出方式不对就读不出数据或读不到正确的数据。 每个文件都有扩展名,扩展名主要用来帮助区分不同文件按格式,提示系统采用什么程序读取文件。如果扩张名与文件实际类型不同,系统读取文件就会出错。

   比如我们保存所画的图形时,依次读入形状的个数,每个形状对象的坐标,颜色的RGB值,可以把保存的图像定义为一种新的文件格式ipg,该图像系统无法读取,因为读出数据的方法不对。

  

 

  

 

 

 
   

   

    

               

 

初级阶段学习总结


更多文章、技术交流、商务合作、联系博主

微信扫码或搜索:z360901061

微信扫一扫加我为好友

QQ号联系: 360901061

您的支持是博主写作最大的动力,如果您喜欢我的文章,感觉我的文章对您有帮助,请用微信扫描下面二维码支持博主2元、5元、10元、20元等您想捐的金额吧,狠狠点击下面给点支持吧,站长非常感激您!手机微信长按不能支付解决办法:请将微信支付二维码保存到相册,切换到微信,然后点击微信右上角扫一扫功能,选择支付二维码完成支付。

【本文对您有帮助就好】

您的支持是博主写作最大的动力,如果您喜欢我的文章,感觉我的文章对您有帮助,请用微信扫描上面二维码支持博主2元、5元、10元、自定义金额等您想捐的金额吧,站长会非常 感谢您的哦!!!

发表我的评论
最新评论 总共0条评论