Language

Language — the Java Programming Language. 

 

 

 

 

Class Declaration:



 
问题: 我们有一辆小汽车,可以在一个拥有x y坐标的地图上按照东南西北方向任意的行驶,你可以设定小车行驶的方向和距离,小车会向你汇报它的坐标位置。

 

 

过程:      问题产生利用语言代码解决问题

 

     把小汽车看成对象引入对象(Object): 抽象、消息、接口、封装、继承、多态

               

     创建类(只要把一个物体看成是对象的话,就可以创建一个类来处理它);

               

关键字:定义,初始化,访问权限,引用,转型

定义:所有的类,属性,方法都要经定义后使用;

初始化: 类的初始化->构造器  属性的初始化->非必需,未定义时为 0;

访问权限: 包,类,属性,方法都有访问权限;Public Protected Private

引用: 包括自身的引用;类之间的引用

转型: 数据类型相互转换

I 定义,初始化,访问权限

/*

*注释各嵌入式文档

*/    

import java.util.*;[类库->]//package

Class Declaration

 

 

package .*;

 

 public abstract/final class name of class extends Superclass implements interfaces   {//scope

 

     [Visibility] [static] [final] [数据类型]  Variable ;//数据初始化

 

       Constructor

 

     [Visibility] [ Abstract] [static] [final] [返回类型] Methods(parameters list){

            1 构造与清理-> 数据初始化

  2 方法重载

Class Body

  3 算法、流程控制

}

      清理->垃圾回收器

}

 

成员访问限制(Visibility: 包访问权限 Public Protected Private

 

Public : 可以给所有的类访问,共用接口;

Private 只可供内部类访问,其它的类不能访问;

Protected:  只可供内部类和其子类访问;

 

类的静态成员(Static) :类似全局变量,可用于声明变量与方法;

 

Abstract

 

Final : final method

         Cannot be overridden in subclass

    final class

         Cannot be superclass (cannot be extended)

          Class cannot inherit final classes

 

Extends:  

- Create class (subclass) from existing one (superclass)

          Subclass creation does not affect superclass

         New class inherits attributes and behaviors,except private

         Software reuse

 

Imterface :

 

Variable: 定义、声明与初始化一个变量;

        定义:指定它的数据类型包括:Boolean Integer Float Array String NULL,void,

在定义时我可以采用数据集合collections(Array, collection(list,set),Map)进行存储成员属性

        声明:Public  Private  Protected  Static  final

       

Constructor: 1. Same name as class

            2. Initializes instance variables of a class obiect

            3. Call class constructor to instantiate object of that class

            4. Overload constructor

    _ Methods (in same class) may have same name

_ Must have different parameter lists

 

Methods:    methods declaration name of methods (parameters list) {

             Methods Body

            }

 

Methods Declaration : public  private  protected  static  abstract

 

Methods Body   引入 Java API  结构控制 运算符与表达式等

Methods return value:

Method Overloading :

         Several methods of the same name

         Different parameter set for each method

          Number of parameters

          Parameter types

I 类与对象

1.1 类与对象的基本概念;

类是数据与方法的集合体; 从这个定义看出编写类其实就是在写类的数据与方法;

类的实例化,称为对象;通常用new 创建;

.

. 访问权限

包括:包、类、属性、方法;

1.2 数据类型

 数据类型:基本数据类型与类类型;凡没有说明程序所讲的类型均指数据类型

1.3 编写类

类的一般组成 如上

1.4 定义

不管是类、属性、方法都要先定义后使用;

1.5 对象的创建、使用各生命期

 

II  属性

2.1 属性即为数据;具有容器的功能,

2.2 属性的定义

一般的形式:

[Visibility,static,final] [数据类型]  Variable ;//数据初始化

 

数据类型,一定要有,但[Visibility,static,final]可有可无; 其中数据类型包括基本数据类型与类类型

基本数据类型: boolean char byte short int long float double void  ;

类类型: Object String str = new String(“abc”);

特殊的数据类型: String Array

2.3 属性的初始化

javainstance variable 是自动初始化的;而局部变量是不初始化的;

只要定义了instance variable 便可以在方法中直接调用;

class MyClass{

String str = new String(“abc”);// 当定义为 static str 不可在getFirstStr中使用;

String getFirstStr(String str){

Return str;

}

}

但在static 以及main()中是不可以使用的;

2.3.2 数组的初始化

属性的初始化时;所指定的值,在别外调用时可以动态改变;

int[ ] x = int [2];

int[ ]y = {1,2,3,4,5,6};

x=y; // 虽然x 指定长度为2 但也可赋于比它还长的数组;

 

III 方法(method)

3.1 方法的组成

[方法声明 :Visibility,Static,Abstract,final] [返回类型] Methods(Argument list){

       /* Method body */

}

方法的基本组成部分包括:名称、参数、返回值与方法体;

方法名和参数列表共同唯一地标识出某个方法;

 

参数不像php那样doSomeThing($num=1,isOk=false)可以赋值初始化;

而是通过 类型声明 doSomeThing(int num,boolen isOk)

3.2 方法的初始化

构造器->构造方法

特点:无返回值支持重载

 

3.3重载

区分方法重载的方法有:1 传入参数不同 ;

方法调用原则:看原形,意思就是说 Overload.inFro(); Overload.inFro(int i)

3.3.2 构造器的重载

 

3.4清理

 

3.5 特殊的方法:接口

没有定义的方法-->接口

interface myInterFace{}

 

3.6 方法的设计

3.6.1 递归(Recursion)  Vs 迭代(Iteration)

3.6.2 算法设计

 

小结:

1 方法的调用都有要通过对象且是通过发送消息的方式; Math.abs(int i);

2

.转型

 

 

 

 

 

猜你喜欢

转载自yogurt.iteye.com/blog/370114