实训day04--二维数组,面向对象

2018.06.07
1.方法的签名
cn.edu360.function.Demo1.add(int ,int)


2.方法的元素
形参 方法名 返回值 权限修饰符
方法上边要写 文档注释


3.二维数组
(1) int[][] arr1 = new int[3][2];

(2) int[][] arr2 = new int[4][];
arr2[0] = new int[3];
arr2[1] = new int[4];
arr2[2] = new int[3];
arr2[3] = new int[5];

(3) int[][] arr3 = {{1,2},{12,324},{12,232}};


4.面向对象
面向对象开发
就是不断的创建对象,使用对象,指挥对象做事情。

面向对象设计
其实就是在管理和维护对象之间的关系。

面向对象特征:
封装(encapsulation)
继承(inheritance)
多态(polymorphism)
面向过程:就是分析出解决问题所需要的步骤,然后用函数把这些步骤一步一步的实现,使用的时候一个个调用就可以了;
面向对象:是把事物分解成不同的对象,建立对象的目的不是完成某一个步骤,而是为了描述某个事物在整个解决问题的步骤中的行为;


5. 变量
成员变量:属于类 存储在堆,类中所有方法都可以访问。会默认初始值。随类的消亡而消亡。
局部变量:属于方法 存储在栈,生命周期随方法存在和消失。不会默认初始值
类变量: 属于类,用static声明


6.对象和类
对象:一切皆对象,对象是类的实例,拥有自己的状态和行为。
类:类是一个模板,描述一组对象的属性和行为。


7.方法传递
形参:方法的参数
实参:方法调用的时候实际传入的参数
简单数据类型: 传值
引用数据类型: 传递的是对象的地址值

 public class Demo4 {
    int x =10;
    public static void main(String[] args) {
        // TODO Auto-generated method stub
        Demo4 d = new Demo4();
        d.test(d);
        System.out.println(d.x);   //输出 4
    }
    public void test(Demo4 d) {
        d.x = 4;
    }
}

无论是传值还是传引用,在java中实际上传的都是参数的副本,副本只在函数内部有效。而当传引用时,传进去的是自己副本的地址,地址无法被改变但是地址指向的值可以被改变(例如d.x)。所以可以说java中都是在传值。


8.匿名对象
就是没有名字的对象。
是对象的一种简化表示形式
匿名对象的两种使用情况:
new Teacher().talk();//只调用一次
作为实际参数传递


9.封装
隐藏对象的属性和方法细节,仅对外提供公共的使用方法。

public class people{
    private int age;
      public void setAge(ing age){
        this.age = age;
    }
      public int getAge(){
        return age;
    }
}

10.重写和重载
方法重载是让类以统一的方式处理不同类型数据的一种手段。多个同名函数同时存在,具有不同的参数个数/类型。重载是一个类中多态性的一种表现。
重写

  1. 父类与子类之间的多态性
    如果在子类中定义某方法与其父类有相同的名称和参数,我们说该方法被重写 (Overriding)。方法重写又称方法覆盖。
  2. 若子类中的方法与父类中的某一方法具有相同的方法名、返回类型和参数表,则新方法将覆盖原有的方法。如需父类中原有的方法,可使用super关键字,该关键字引用了当前类的父类。
  3. 子类函数的访问修饰权限不能少于父类的;

猜你喜欢

转载自blog.csdn.net/qq_32539825/article/details/80616683