实训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. 子类函数的访问修饰权限不能少于父类的;

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏老马说编程

计算机程序的思维逻辑 (11) - 初识函数

查看上节内容,请点击上方链接关注公众号,查看所有文章。 函数 前面几节我们介绍了数据的基本类型、基本操作和流程控制,使用这些已经可以写不少程序了。 但是如果需...

20670
来自专栏机器学习原理

正则表达式符号方法

前言: re模块是爬虫的基础,文章主要从符号和用法来介绍它的基础用法 符号 各个符号及用法如下: 符号 含义 . 表示匹配除了换行符外的任...

32660
来自专栏GreenLeaves

JavaScript引用类型之Array数组的toString()和valueof()方法的区别

一、转换方法 1、在JavaScript中几乎所有对象都具有toLocaleString()、toString和valueof()方法,因为,所有的对象都继承自...

22070
来自专栏zaking's

用js来实现那些数据结构01(数组篇01-数组的增删)

   在开始正式的内容之前,不得不说说js中的数据类型和数据结构,以及一些比较容易让人混淆的概念。那么为什么要从数组说起?数组在js中是最常见的内存数据结构,数...

53380
来自专栏积累沉淀

JavaScript对象和数组

学习要点: 1.Object类型 2.Array类型 3.对象中的方法 什么是对象,其实就是一种类型,即引用类型。而对象的值就是引用类型的实例。 一...

29850
来自专栏小白的技术客栈

Python之解析式您知多少?

解析式 解析式 今天给大家介绍Python中的解析式。 ? 解析式简单介绍 解析式, 列表解析 # Python2只有列表解析 生成器解析 # Python...

46450
来自专栏猿人谷

数组与指针

一、数组        数组是由类型名、标识符和维数组成的复合数据类型,类型名规定了存放在数组中的元素类型,维数则指定数组中包含的元素个数。        数组...

21880
来自专栏机器学习和数学

[编程经验] Python正则表达式

Hello,大家好。又见面了,今天给大家介绍一下,正则表达式在Python中是如何使用的。这样说的原因是正则表达式并不是Python所独有的,而是自成体系,在很...

27740
来自专栏猿人谷

static_cast ,reinterpret_cast

用法:static_cast < type-id > ( expression ) 该运算符把expression转换为type-id类型,但没有运行时类型检查...

245100
来自专栏小勇DW3

Java之static作用的全方位总结

 引用一位网友的话,说的非常好,如果别人问你static的作用;如果你说静态修饰 类的属性 和 类的方法 别人认为你是合格的;如果是说 可以构成 静态代码块,...

20120

扫码关注云+社区

领取腾讯云代金券