javaseday05(面向对象,二维数组,权限修饰符)

xiaoxiao2021-02-28  10

二维数组定义的格式

int[][] arr     = new int[3][2];创建3个1维数组每个1维数组中有2个元素   一维数组的个数由左边决定  一维数组内有几个元素由右边决定

arr 和[] 可以换位置

syso(arr[0])  打印二维数组中角标为0的一维数组

引用数组类型默认为空null

这样才初始化完成

一维数组的长度不固定

arr[0] = new int [2];

arr[1] = new int[3];

arr[2] = new int[4];

打印 arr[][] 左边数据类型[[I  元素没有纬度0

如果没有制定一维数组的元素个数 打印二维数组的 一维数组为null  用这个一维数组指定它自己的元素 会出现空指针异常

arr.length 一维数组的个数 arr[1].length 角标为1的元素个数

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

c 面对过程 c++面向对象 c# csharp

面向过程的思想强调的是过程( 动作)  动作是功能  功能由函数来体现

面向对象思想强调是对对象(实体)

特点:

1、面向对象是一种常见的思想,符合人们的思考习惯

2、面向对象的出现将复杂的问题简单化

3、面向对象的出现让曾经在过程中的执行者变成了对象中的指挥者

有功能所以找对对象 来帮我实现 自己不用做很方便 提高效率  比如找服务员  把动作(过程)封装在一个服务员这个对象上

只要存在的都是对象  等级不够(万物皆对象)JAVA之父詹姆斯·高斯林说出来就很强

有对象用对象 没对象就new一个 维护各对象的关系

 面向对象特征:封装 继承 多态

一般名词是对象  人打开门是调用了门的开的方法 因为门最清楚门开的方法 内部的轴、页之类

而且很多人都能开这个门

用java语言通过类的形式对现实生活中的事物进行描述

对于事物的描述通常只关注两方面1、属性 2、行为

对象:其实就是该物实实在在存在的个体

类与对象之间的关系

类:事物的描述

对象:该类事物的实例 ,在java中通过new来创建

new出来是先有类  先看到对象再创建类是先有对象

JAVA中所有关键字都是小写  String 是一个类

默认的是default 不需要书写public: Java语言中访问限制最宽的修饰符,一般称之为“公共的”。被其修饰的类、属性以及方法不     仅可以跨类访问,而且允许跨包(package)访问。private: Java语言中对访问权限限制的最窄的修饰符,一般称之为“私有的”。被其修饰的类、属性以     及方法只能被该类的对象访问,其子类不能访问,更不能允许跨包访问。protect: 介于public 和 private 之间的一种访问修饰符,一般称之为“保护形”。被其修饰的类、     属性以及方法只能被类本身的方法及子类访问,即使子类在不同的包中也可以访问。default:即不加任何访问修饰符,通常称为“默认访问模式“。该模式下,只允许在同一个包中进行访     问。

new Car();创建个对象

c = new Car(); 起个名字

Car c = new Car();c就是一个用类类型的引用变量指向该类的对象

c.run();要使用对象中的内容可以通过  对象.成员   的形式来调用

直接用run的话 不明确是哪个对象

定义类就是在定义类中的成员事物中的组成部分就是成员 一个成员变量、一个成员函数

成员变量对应属性 成员函数对应行为

不需要独立运行 不用定义主函数

局部变量在方法 或语句中有效  成员变量定义在类中作为整个类在源代码中体现

成员变量:

          1、成员变量定义在类中,在整个类中都可以被访问。

          2、成员变量随着对象的建立而建立,随着对象的消失而消失,存在于对象所在的堆内存中。

          3、成员变量有默认初始化值。

      局部变量:

          1、局部变量只定义在局部范围内,如:函数内,语句内等,只在所属的区域有效。

          2、局部变量存在于栈内存中,作用的范围结束,变量空间会自动释放。

          3、局部变量没有默认初始化值 

      在使用变量时需要遵循的原则为:就近原则

      首先在局部范围找,有就使用;接着在成员位置找。

堆内存中默认进行初始化 字符串初始化为null

对象的出现为了封装数据  分开封装

public static void show(Car c){类类型的变量一定指向对象,不然就是null

}

匿名对象就是没有名字的对象,new Car();其实就是定义对象的简化格式

new Car().run(); 运行完就结束

当对象对方法仅进行一次调用的时候就可以简化为匿名对象

匿名对象可以作为实际参数传递

show(new Car());

基本数据类型在函数中改变不影响在主函数中的数 ?弹栈掉了

encapsulation  封装  隐藏对象的属性 隐藏实现细节 仅对外提供公共的访问方式

private 私有(权限修饰符)  用于修饰成员 为了防止安全隐患 私有仅在本类中有效

好处:1、提高安全性2、将变化隔离 3、便于使用 4、提高重用性

(比如将主板封装在机箱中 CPU 改变也不影响使用)

不需要对外提供的都可以私有  

私有仅仅是封装的一种体现形式 

函数是JAVA中最小的封装体  类本身也是封装体  内部只要隐藏的都是封装体 便于使用 不用了解内部细节

一般是getXxx  setXxx

转载请注明原文地址: https://www.6miu.com/read-800340.html

最新回复(0)