外部循环控制行数;
内部循环控制列数
外部循环控制行数;
内部循环控制列数
数组赋值用大括号
缺点:shu'zu'chang'du'gu'd
程序维护方面,面向对象方法有优势
数组空间开辟:
int data []=null;
有栈值,没有堆值;
有 new 之后才会开辟 堆空间
如果发生引用传递,不能有中括号
比如:int data []=new int [100];
int temp[]=null;
for(int i=0;i<100;i++){
data[i]=i;
}
如果temp要引用data,
则temp=data;不要出现中括号
temp=data;引用传递:::data里面存的是地址
此时 若利用temp修改值,则data指向的值也改变了。因为它们指向的是同一地址。
声明数组:
数据类型 数组名称 []=null;
开辟数组空间 :数组名称=new 数据类型 [长度]
例如 String product[ ]=null;
product=new String[100];
String Product[]=new String[100];
数组长度:数组名称.length;
数组必须开辟空间(实例化)
类中的属性必须用private封装
属性必须按要求提供setter,getter方法;
类中必须保留一个无参构造方法,可以定义多个构造方法
类中的方法都不允许出现system.out的语句
类中必须提供一个返回类完整信息的方法。
简单java类:
属性
构造方法
setter方法
getter方法
构造方法与类名称相同,且没有注明返回值类型
构造方法允许重载,重载时只需要考虑参数的类型和个数
new 类名称();
类名称(); 就是构造方法
默认的构造方法(类中没有定义构造方法时)是:无参的,什么都不做的构造方法。
类构成:属性(开辟控件时有的),普通方法,构造方法(实例化对象时)。
构造方法:构造方法为类的属性初始化处理。
setter函数不仅能设置属性,还可以修改属性值
构造方法重载,注意结构顺序。。。。如参数个数升序/降序
类定义是一般遵循:
第一部分写属性,
第二部分写构造方法
第三部分写普通方法
匿名对象:::匿名对象没有栈空间
new 类对象(参数1 ,参数2,...)
如果没有封装: 业务逻辑出错
让用户不能直接操作类的敏感内容
如何让内部操作让外部不可见!!!
private封装:只允许本类使用,不允许其他类使用。
private
很少在方法用private修饰
private后,属性安全了。 外部不能访问了
setter方法 用来设置private的属性
getter方法 用来得到private的属性
不管用不用,都要有setter,getter
public void set***(数据类型 变量){
。。。;
}
类的设计原则:
设计类的时候,类中的所有属性必须使用private封装。
而是用private封装的属性如果需要被外部使用,那就按照格式定义相应的setter和getter