Java第六天学习笔记~二维数组,面向对象

二维数组

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

例子:

class ArrayDemo2
{
	public static void main(String[] args)
	{
		int sum=0;
		int[][] arr={{3,1,7},{5,8,2,9},{4,5}};
		for(int x=0;x<arr.length;x++)
		{	
			for(int y=0;y<arr[x].length;y++)
			{
				System.out.print(arr[x][y]+",");
				sum+=arr[x][y];
				
			}
		}
		System.out.println("sum="+sum);
	}
}

面向对象

C++  JAVA C#  都用的面向对象原理

概念:对于面向对象思想,强调的是对象

特点:

  1. 面向对象就是一种常见的思想,符合人们的思考习惯
  2. 面向对象的出现,将复杂的问题简单化
  3. 面向对象的出现,让曾经在过程中的执行者变成了对象中的指挥者

用JAVA语言对现实生活中的事物描述

通过类的形式体现的

对于事物的描述通过2个方面

①属性            ②行为

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

类与对象的关系?

类:事物的描述

对象:该类事物的实例(在Java中通过创建new)

要使用对象中的内容可以通过  对象.成员 的形式完成调用

定义类其实就是定义类中的成员

成员:成员变量-----属性      成员函数----------行为

成员变量和局部变量的区别:

  1. 成员变量定义在类中,整个类中都可以访问                      ;局部变量在函数,语句,局部代码块中,只在所属区域有效
  2. 成员变量存在于堆内存                                                          ;局部变量存在于栈内存
  3. 成员变量随着对象的创建而存在,随着对象的消失而消失;局部变量随着所属区域烦人执行而存在,随着所属区域的结束而释放
  4. 成员变量都有默认初始值                                                         ;局部变量没有默认初始值

匿名对象

new Car( );

Car c=new Car();
c.run();
new Car().run;
  1. 当对象对方法仅进行一次调用的时候,就可以简化成匿名对象
  2. 匿名对象可以作为实际参数进行传递
Car c1=new Car();
show(c1);
show(new Car());

基本数据类型参数传递

引用数据类型传递

封装

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

好处:

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

封装原则:

  1. 将不需要的对外提供的内容藏起来
  2. 将属性都隐藏,提供公共方法对其访问
class Person
{
	private/*私有*/ int age;
	/*public void setAge(int a)
	{
		age=a;
	}	
	public int getAge()
	{
		return age;
	}
	*/
	
	public void haha(int a)
	
	{
		if(a>0&&a<130)
		{
			age=a;
			speak();
		}
		else
			System.out.println("错误的数据");
	}
	void speak()
	{
		System.out.println("age="+age);
	}
	
}
class PersonDemo
{
	public static void main(String[] args)
	{
		Person p=new Person();
		p.haha(-20);
	}
}

private---------权限修饰符用于修饰类中成员(私有的内容只在本类中有效)

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

猜你喜欢

转载自blog.csdn.net/crazyhulu/article/details/84471270