java学习笔记2--面向对象编程( 三 )

< arr.length;i++){arr[i] = arr[i] / arr[0];}//正确写法1for(int i = arr.length –1;i >= 0;i--){arr[i] = arr[i] / arr[0];}//正确写法2int temp = arr[0];for(int i= 0;i < arr.length;i++){arr[i] = arr[i] / temp;}
3.4.7 练习4
(char[] arr)方法体是对char[]数组进行遍历
* int[] arr = new int[10];* System.out.println(arr);//地址值* * char[] arr1 = {'a','b','c'};* System.out.println(arr1);//abc
4.递归(后面补) 5.封装 5.1 定义
封装指的是将类的某些信息隐藏在类的内部,不允许外部程序直接访问,而是通过类中提供的公共方法来实现对隐藏信息的操作和访问 。
5.2 目的
追求程序设计的“高内聚,低耦合”特性,提高系统的可拓展性和可维护性 。
当我们创建一个类的对象以后,我们可以通过"对象.属性"的方式,对对象的属性进行赋值 。这里,赋值操作要受到属性的数据类型和存储范围的制约 。但除此之外,没有其他制约条件 。但是,实际问题中,我们往往需要给属性赋值加入额外限制条件 。这个条件就不能在属性声明时体现,我们只能通过方法进行条件的添加 。比如说,。同时,我们需要避免用户再使用“对象.属性”的方式对属性进行赋值 。则需要将属性声明为私有的()此时,针对于属性就体现了封装性 。
5.3 封装性的体现5.4 权限修饰符
Java 权限修饰符、、(缺省)、置于类的成员定义前,用来限定对象对该类成员的访问权限 。
5.5 权限修饰符之于封装
封装性的实现需要权限修饰符的配合–Java 提供了 4种权限修饰符来修饰类及类的内部结构,体现类及类的内部结构在被调用时的可见性大小 。
6.构造器 6.1 格式
权限修饰符 类名(形参列表) {方法体;}
6.2 作用6.3 细节7.属性赋值的过程 默认初始化显式初始化构造器初始化通过“对象.属性”或“对象. 方法”给属性赋值
正确顺序:1 -> 2 -> 3 -> 4 8.
有一个无参的公共的构造器
/** JavaBean 是一种 Java 语言写成的可重用组件 。* 所谓 javaBean,是指符合如下标准的 Java 类:*> 类是公共的*> 有一个无参的公共的构造器*> 有属性,且有对应的 get、set 方法* */public class Customer {private int id;private String name;public Customer(){}public void setId(int i){id = i;}public int getId(){return id;}public void setName(String n){name = n;}public String getName(){return name;}}
9.UML类图
介绍类以及类内部结构
10.this关键字 10.1 作用
this表示当前对象或者当前正在创建的对象(相对于构造器来说),可以用来修饰、调用属性,方法,构造器 。
10.2 使用方法
this.属性(用来区分形参与成员变量)this.方法()this(形参列表) //在构造器中调用本类中其余构造器
1 在类的方法中,我们可以使用"this.属性"或"this.方法"的方式,调用当前对象属性和方法 。
通常情况下,我们都选择省略“this.” 。特殊情况下,如果方法的形参和类的属性同名,我们必须显式地使用"this.变量"的方式,表明此变量是属性,而非形参 。
2 在类的构造器中,我们可以使用"this.属性"或"this.方法"的方式,调用正在创建的对象属性和方法 。
但是,通常情况下,我们都选择省略“this.” 。特殊情况下,如果构造器的形参和类的属性同名,我们必须显式地使用"this.变量"的方式,表明此变量是属性,而非形参 。
3.this 调用构造器(减少代码冗余)