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

二维数组定义的格式

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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
提供的源码资源涵盖了Java应用等多个领域,每个领域都包含了丰富的实例和项目。这些源码都是基于各自平台的最新技术和标准编写,确保了在对应环境下能够无缝运行。同时,源码中配备了详细的注释和文档,帮助用户快速理解代码结构和实现逻辑。 适用人群: 适合毕业设计、课程设计作业。这些源码资源特别适合大学生群体。无论你是计算机相关专业的学生,还是对其他领域编程感兴趣的学生,这些资源都能为你提供宝贵的学习和实践机会。通过学习和运行这些源码,你可以掌握各平台开发的基础知识,提升编程能力和项目实战经验。 使用场景及目标: 在学习阶段,你可以利用这些源码资源进行课程实践、课外项目或毕业设计。通过分析和运行源码,你将深入了解各平台开发的技术细节和最佳实践,逐步培养起自己的项目开发和问题解决能力。此外,在求职或创业过程中,具备跨平台开发能力的大学生将更具竞争力。 其他说明: 为了确保源码资源的可运行性和易用性,特别注意了以下几点:首先,每份源码都提供了详细的运行环境和依赖说明,确保用户能够轻松搭建起开发环境;其次,源码中的注释和文档都非常完善,方便用户快速上手和理解代码;最后,我会定期更新这些源码资源,以适应各平台技术的最新发展和市场需求。 所有源码均经过严格测试,可以直接运行,可以放心下载使用。有任何使用问题欢迎随时与博主沟通,第一时间进行解答!

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值