java基础学习—(6)二维数组和面向对象

二维数组

数组中的数组。

格式1

int[ ] [ ] arr =new int[3] [2];

在这里插入图片描述
一维数组中存储的是二维地址的首地址。二维数组初始化值都为0,一维数组初始化值为null,但是定义了二维数组后,赋值为二维数组的首地址。直接打印出来(地址值)显示为对应的哈希值。

格式2

int [ ][ ] arr = new int [3][ ];
arr[0] = new int [2];
arr[0] = new int [1];
arr[0] = new int [3];

在这里插入图片描述
先定义一维数组,再对二维数组分别赋值。

二维数组的长度

System.out.println(arr.length);   //打印二维数组的长度,其实就是一维数组的长度。
System.out.println(arr[0].length);  //打印二维数组中角标为0的数组的长度。

格式3

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

二维数组的遍历

	public static void bianli(int[][] arr) 
	{
		for(int x=0;x<arr.length; x++)
			for(int y = 0; y<arr[x].length; y++)
			{
				System.out.print(arr[x][y]);
			}
	}

使用二重循环可遍历二维数组。

面向对象

描述事物即是类:包含属性(数据),行为(功能)。
对象是类的实例,在java中是用new来创建的。

定义

定义类就是定义类中的成员。成员:成员变量(属性),成员函数(行为)

Car c = new Car( );

定义一个Car类的对象。
调用对象中的内容,可以通过对象 . 成员的形式来完成调用。

c.run( );   //对成员函数的操作。
c.num = 4;  //对成员变量的操作。

创建对象的内存图示
在这里插入图片描述
注意:堆中是用new建立的数组、对象。堆中对象的null(整数)的初始值为0,而字符的初始值为null。

成员变量(对象)和局部变量(方法)的区别

1.
成员变量定义在类中,整个类都可以访问
局部变量定义在函数语句的局部代码块中,只在所属的区 域有有效
2.
成员变量存在于堆内存的对象中
局部变量存在于栈内存中的方法中(main)(方法有点像C中的函数)
3.
成员变量随着对象的创建而存在,随着人对象的消失而消失
局部变量随着所属区域的执行而存在,随着所属区域的结束而释放
4
成员变量都有默认的初始化值(null 0 false 0.0 ‘’)
局部变量没有默认的初始化值

类类型参数

	public static void show(Car c) 
	{
		c.num = 3;
		c.color = "red"
	}

跟其他类型的参数差不多啦。类类型的变量一定指向对象,要不就是null。

匿名对象(了解)
没有名字的对象

Car c = new Car();//有名的对象
New Car();//匿名对象

new A(); 匿名对象 其实就是定义对象的简写格式
new A().fun(); 当对象对方法仅进行一次调用的时候,就可以简化成匿名对象
show(new A); 匿名对象可以作为实际参数进行传递

封装

是指隐藏对象的属性和实现细节 仅对外提供公共访问方式。

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

封装原则: 将不需要对外提供的内容都隐藏起来,把属性都隐藏 提供公共方法对其访问
private: 私有 是一个权限修饰符 用于修饰成员
私有的内容只在本类中存放

注意:
私有仅仅是封装的一种体现而已

私有就是封装 但封装不仅仅是私有 函数也是封装

class Demo1 
{
	public static void main(String[] args) 
	{
		Person per = new Person();
		per.setAge(8);
		int k = per.getAge();
		System.out.println(k);
	}
}
class Person
{
	private int age;
	public void setAge(int a)
	{
		age = a;
	}
	public int getAge()
	{
		return age;
	}
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值