杨辉三角、面向对象、封装、构造方法

1、二维数字的遍历功能以及杨辉三角

(1)、遍历二维数组

public class Demo{
	public static void main(String[] args){
		int arr[][]={{1,67,32},{88,6,99}};
	}
	public static void getNmu(int arr[][]){
		System.out.prin("{");
		for(int x=0;x<arr.length;x++){
			System.out.print("{");
			for(int y=0;y<arr[x].length;y++){
				//判断
				if(x==arr.length;x++){//如果是二维数组的最后一个元素,输出元素值以及后面的}
				System.out.print(arr[x][y]+"}");
				}else if(y==arr[x].length-1;y++){
				System.out.print(arr[x][y]+"}"+",");
				}else{
				System.out.print(arr[x][y]+",");//输出元素内容
				}
			}
		}
		System.out.print(arr[x][y]+"}");
	}
}

2、面向对象

基于面向过程的一种思想。
面向对象:代表JAVA语言(指挥者)
强调对象的创建,使用对象调用功能!
面向过程:代表C语言(执行者)
强调一个功能的步骤
面向对象思想特点
(1)、更符合生活中的思想和行为
(2)、让复杂的事情简单化
(3)、让执行者变为指挥者
面向对象设计原则:不断创建对象,使用对象指挥该对象
做事情。
面向对象的三大特征:封装、继承、多态

3、类和事物的关系

事物:描述现实世界的真实存在泛指的东西!

例:学生为一个事物  属性:姓名、年龄、性别
				  行为:学习

**:**是描述一组事物的属性和行为的集合。

4、局部变量和成员变量的区别

(1)、在类中的位置不同
局部变量:在方法定义中或方法声明上的变量。
成员变量:在类中、方法外。
(2)、在内存中位置不同
局部变量:在栈内存中,与方法有关。
成员变量:在堆内存,与类的对象有关。
(3)、生命周期不同
局部变量:随着方法的调用而存在,随着方法的调用而完毕而消失。
成员变量:随着对象的创建而存在,随着对象的创建完毕而完毕,等待垃圾回收器收掉(GC)之后消失。
(4)、初始化不同
局部变量:必须在使用前进行初始化,否则报错“可能尚未初始化”。
成员变量:可以不初始化,系统会默认初始化

5、形式参数

形似参数如果是一个基本数据类型,形式参数的改变对实际参数没有影响。

形式参数如果传递的是一个数组类型,需要传递该数组的对象。
例:int[] arr={1,2,3,}
	public static void getNum(int[] arr){
			//内容
	}

形式参数如果是一个类(具体类),那么它的改变直接影响实际参数。

6、一个类的成员有:

			成员变量
			成员方法(去掉static关键字)
			构造方法			

7、匿名对象

**含义:**没有名字的对象
特点:(1)、仅使用一次,使用完毕,从内存中会立即被释放掉!(节省内存空间,Android移动端使用居多)。
(2)、匿名对象也可以作为参数进行传递。
**注意:**不要多次使用匿名对象。

**格式:**new 类名();   (前提条件:该类是一个具体类)

8、封装

含义:
将类中成员变量私有化(private),对外提供公共的访问方法(权限足够大)。
注:
私有化的成员变量只能在本类中,外界不能访问(get,set)。

9、 private关键字的特点

特点:
(1)、private可以修饰一个类的成员变量和类的成员方法。
(2)、被private修饰的成员变量或者是成员方法只能在本类中访问,外界不能访问(保证数据的安全性)。
(3)、如果该变量能够描述某事物属性的话,变量就要定义成员变量。

10、构造方法

含义:(1)、方法名和类名相同
(2)、没有具体的返回值类型
(3)、并没有void
**格式:**权限修饰符 + 方法名也就是类名(){ //有参构造或无参构造 }

例:public Animal{
		private String name;
		public Animal(){   //无参构造

		}
		public Animal(String name){  //有参构造
			this.name=name;
		}

	}

注意:(1)、在一个类中,我们不写无参构造,系统会默认提供无参构造方法。
(2)、如果提供一个有参构造方法,系统不会在提供无参了,如果使用无参构造创建,就会报错

11、this关键字

含义:
this代表当前类的对象的地址引用,局部变量和成员变量出现冲突(局部变量隐藏了成员变量)。
出现的原因:
(1)、this.成员变量;
(2)、this.成员方法();
(3)、this():访问本类的无参构造
(4)、this(“…”):访问有参构造方法(根据数据类型)

12、static

static:共同变量
static静态:

例:static int num=50//静态成员变量

特点:(1)、被static修饰的变量/方法都随着类的加载而 加载(2)、被static修饰优先于对象存在 (3)、被static修饰的可以被多个对象共用。(4)、被静态修饰的成员变量或成员方法,可以被类名直接访问,但也可以用该对象来访问该成员。
注意:(1)、在static中,没有this关键字。(this:代表当前类的对象的地址值,对象已经创建了,而static修饰的和类有关)
(2)、关于成员方法的访问问题:

  1. 非静态的成员方法:既可以访问静态的成员变量,也可以访问非静态的成员变量,既可以访问静态的成员方法,也可以访问非静态的成员方法。

  2. 静态的成员方法:静态只能访问静态的成员变量和方法。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值