java基础和面向对象

来源:互联网 发布:淘宝客优惠券网站系统 编辑:程序博客网 时间:2024/04/27 14:43


1.计算机体系结构简介
     硬件
     操作系统内核
     操作系统外壳
     应用程序
 
2.Linux常用命令
     pwd打印工作目录
     cd改变工作目录
     ls查看目录内容
     mkdir创建目录
     ./xxx运行可执行文件
    
 3.Java语言基础
     1).Java变量
         变量指代内存中的存储区域,不同的变量类型决定了存储区域的结构.
     2).Java数据类型
         byte,short,int,long,float,double,char,boolean
     3).Java运算符及表达式
         算术运算 ,关系运算,逻辑运算, 条件运算符,赋值运算符,字符串连接运算符
     4). 三种程序结构
         顺序,分支,循环
     5).Java分支结构
         if-else 结构,switch-case 结构
     6).Java循环结构
         for 循环结构,continue,break
         while 循环结构
         do-while 结构
        
 4.Java数组
         相同数据类型的元素组成的集合
         这些元素按线性顺序排列
         所谓的线性顺序是指除第一个元素外,每一个元素都有唯一的前驱元素;
                         除最后一个元素外,每一个元素都有唯一的后继元素
                                                (一个跟一个)
                                               
 5.Java方法
         方法用于封装一段特定的逻辑功能
         方法的主要要素有:方法名,参数列表,返回值
        
 6.Java基础算法
         a.Arrays核心API
                 Arrays.toString();//用于字符串表示数组元素
                 Arrays.equals();//用于比较两个数组是否相等
                 Arrays.sort();//用于实现数组元素的排序
                 Arrays.binarySearch(arr,index);//用于实现有序数组的二分法查找
                 System.arraycopy(src,srcPos,desc,descPos,length);//数组复制
                 new 一个更大的数组;//数组扩展
                 Arrays.copyOf();//简便实现数组扩展
          b.排序算法
                  选择排序,插入排序,冒泡排序
          c.Java递归调用
                  方法在执行时调用自身,要有递归结束条件
                 
 7.二进制基础
             计算机采用补码规则解决符号问题
             二进制正数的补码是正数本身
             二进制负数的补码是正数各位取反再加一
     a.16进制用于简化书写2进制
     b.移位运算符
             左移( << );
             算数右移( >> );//符号位不变
             逻辑右移( >>> );//符号位加零
     c.位运算符
             &    :按位与
             |    :按位或
             ^    :按位异或
             ~    :按位非
     d.基本数据类型解析
             利用移位运算符和位运算符进行解析
     
           
 

 

 

 


1.类 ,对象,引用
     a.类是分类,一组具有相同特性的事物抽象出来的概念
          类中定义了成员变量,定义了成员方法
     b.对象是具体的事物,计算机中对象的本质是内存中的一块存储区域
          其数据结构由定义它的类来决定
     c.对象的创建
          当一个类定义存在后,可以使用new运算符创建该类的对象
          对象的创建过程一般称为类的实例化
     d.引用类型
          用类名声明的变量称之为引用类型变量,简称引用
          引用类型变量存储的是某个对象在内存中的地址信息
          引用的功能在于访问对象
         
2.方法的定义和调用
    a.局部变量存放在栈内存中,
          对象存放在堆内存中,
          类的各种信息存放在方法区中
     b.方法调用
          方法的调用必须通过某个对象的引用
          当某个对象的引用调用方法时,方法中涉及的成员变量就是该对象的成员变量
     c.方法的重载
          意义:这种设计方式更优雅一些
          允许多个方法的名称相同,但是参数列表不同,称之为重载
     d.this 关键字
          在方法中可以通过 this 关键字表示"调用该方法的那个对象"
          可以这样理解:这个对象的引用以隐式的方式传递给了方法
     e.null
          引用类型可以赋值 null ,再去访问成员变量和方法会产生NullPointException
         
3.构造方法
         Java中可以使用构造方法实现对对象成员变量的初始化
         默认的构造方法
         构造方法的重载
        
 4.继承关系
         a.extends 关键字可以实现类的继承
             子类可以继承父类的成员变量及成员方法。同时也可以定义自己的成员变量和方法
             java语言不支持多重继承,一个类只能继承一个父类。但一个父类可以有多个子类
         b.向上造型
             一个子类可以向上造型为父类的类型
             父类定义的引用变量可以引用子类型的实例
         c.继承中的构造方法
              子类的构造方法必须通过 super 关键字调用父类的构造方法
              这样可以妥善的初始化继承自父类的成员变量
              如果没有调用父类的构造方法.java会自动调用无参数的父类构造方法
              如果父类中没有无参数的构造方法会有编译错误
         d.instanceof 关键字
              对于一个父类的引用类型,可以指向该类的对象, 也可以指向其任意一个子类的对象
              可以通过 instanceof 关键字判断其指向对象的实际类型
              例子: 
                      //判断shape引用指向的对象是否是Circle类型
                  if(shape instanceof Circle){
                           //强制类型转换
                            Circle    c=(Circle)shape;
                       }
         e.方法的重写
                 子类可以重写(覆盖)继承自父类的方法
                 当子类对象的重写方法被调用时,
                 无论是通过子类的引用还是父类的引用调用,
                 运行的都是子类重写的方法
                 在子类重写的方法中 ,可以通过super关键字调用父类原始的方法
         f.重写和重载的区别
                 重载在编译的时候确定调用哪个方法,
                 重写在运行的时候确定调用哪个方法
 
5.访问控制
         public             : 可以被任何一个类访问
        private         : 只能本类访问
        默认                     :   本包中所有类访问
         protected     : 本包中所有类访问和子类可以访问
 
6.package 包和 import 导入包
 
7.Static和final
         a.static 关键字 --修饰变量
                 用 static 修饰的成员变量不属于对象的数据结构
                 static 变量是属于类的变量,通常可以使用类名来引用 static 成员
                 static 成员变量和类的信息一起存储在方法区,而不是在堆中
                 一个类的 static 成员变量只有一份,无论该类创建了多少对象
         b.static 关键字 --修饰方法
                  通常的方法是对具体对象的操作
               static 修饰的方法则不需要针对某个对象进行操作
                    其运行的结果仅仅和输入的参数有关
                    调用时直接用类名引用
                    该方法在调用时没有隐式的传递对象引用,
                    因此在 static 方法中不可以使用 this 关键字
               static 方法作用在于提供一些"工具方法"和"工厂方法"
                   静态方法是属于类的方法
         c.final 关键字
                 final 修饰--类      --不可以被继承
                 final 修饰--方法--不可以被重写
                 final 修饰--变量--不可以被改变
                
 8.二维数组:可以用来表示类似矩阵这样的数据结构
         严格来讲java没有真正意思的二维数组
 
9.抽象类
         用 abstract 关键字修饰的类成为抽象类
         抽象类不能被实例化
         抽象类的意义在于被继承
         抽象类为其子类抽象出了公共的部分,
         通常也定义了子类所必须实现的抽象方法
         抽象方法只有方法的定义,没有方法的实现
         一个类继承抽象类必须实现其抽象方法(除非也是抽象类)
         抽象类的意义:方法参数中可以传递抽象类实现的子类的对象. 实现多态个体
        
 10.Timer和TimerTask简介
         Timer类和TimerTask抽象类可以以固定的周期运行某段程序
         其中Timer常用的 schedule 方法如下 :
         schedule(TimerTask task,long delay,long period);
         其中:   
         参数task的类型TimerTask是一个抽象类,
                     TimerTask定义有抽象的run方法,
                     在此方法中编写需要被周期性运行的代码
         参数delay是开始调度任务的延迟时间(单位是毫秒)
         参数period表示调度任务的周期(单位是毫秒)
         timer.cancel();//取消任务的调度
        
 11.接口
         a.接口可以看成特殊的抽象类,即只包含抽象方法的抽象类
               通过interface关键字定义接口
               接口中不可以定义成员变量,但是可以定义常量
               接口中只可以定义没有实现的抽象方法(可以省略 public abstract)
         b.一个类可以通过 implements 关键字实现接口,
                       一个类实现接口后必须实现该接口中定义的所有的方法
         c.一个类可以实现多个接口
         d.接口可以作为一种类型声明变量.可以引用实现了该接口的对象
          通过该引用可以调用该接口中定义的方法(具体的实现类提供了具体的方法)
         e.接口的继承
               接口间可以存在继承关系
               一个接口可以通过 extends 关键字继承另外一个接口
               子接口继承了父接口中定义的所有方法
         f.接口的意义
               多态:一个接口可以多个类实现,
                          一个类可以同时实现多个接口,同时也可以继承一个类
                          这样这个类可以实现多个向上造型
 
12.内部类和匿名类
         a.内部类的定义
                一个类可以定义在一个类的内部
                定义在类内部的类成为Inner,其所在的类称为Outer
              Inner定义在Outer的内部,对外部具备可见性
              Inner可以直接调用Outer的成员及方法(包括私有的)
         b.内部类的原理
                一般情况下,Inner对象会在Outer对象中创建
               Inner对象中会有一个隐式的引用指向创建它的Outer对象
               Inner对象不能独立于Outer对象而存在。
                 通常将Inner类修饰为private,其对象的创建都在Outer对象中完成
                 如果想在Outer外部创建Inner对象,必须先创建Outer对象
                 例子:
                   Outer outer=new Outer();
                      Inner inner=outer.new Inner();
         c.内部类的应用
                    当一个类的存在的价值仅仅是为某一个类服务时,
                    应当使其成为那个类的内部类
                    内部类一般情况下对外不可见,除了包含它的外部类外 ,其他类无法访问到它
                    内部类可以很方便的访问其外部类的私有属性
         d.匿名内部类的定义
                  如果在一段程序中需要创建一个类的对象
                  (通常这个类需要实现某个接口或者继承某个类)
                  而且对象创建后,这个类的价值也就不存在了
                  这个类可以不必命名,称之为匿名内部类
                  例子 :
                          接口/父类  obj=new 接口/父类( . . . ){. . .};
         e.匿名内部类的应用
           匿名内部类应用在接口回调,事件监听等场合
         f.回调模式
                   回调模式是指--如果一个方法的参数是接口类型,
                   则在调用该方法时,需要创建并传递一个实现此接口类型的对象;
                   而该方法在运行时会调用到参数对象中所实现的方法(接口中定义的)
 13.事件监听机制
                 事件监听可以看成是回调模式在swing组件响应用户事件中的应用
                 ActionLister;用于监听表示要开始某种操作的事件
                 MouseListener;用于监听鼠标事件
                 KeyListener;用于监听键盘事件
                 Listener接口和Adapter抽象类;
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
             

 

 

 

 

 


 

原创粉丝点击