第四讲 类与对象
-
- 类和对象的区别的联系
- 类是抽象的、概念的,代表一类事物,比如人类、动物类...
- 对象是具体的、实际的存在,代表一个具体的食物
- 类是对象的模板,对象是类的一个实例,用类来实例化对象,例如通过人来来创建小麦这个具体的人。
- 如何定义类?
- 如何创建对象?——两种方法
- 第一种
- 对象声明:类名 对象名
- 对象创建:对象名 = new 类名()
- 第二种:一步到位
- 类名 对象名 = new 类名();
- 第一种
类名首字母大写;
- 类的成员方法(成员函数)定义
程序如下:
1: /*
2: *通过打印 金字塔 练习 没有返回值的成员方法
3: */
4: package lesson4;
5: public class _3PrintJinZiTa {
6: /**
7: * @param args
8: */
9: public static void main(String[] args) {
10: // TODO Auto-generated method stub
11: PrintJinZiTa myPrintJinZiTa=new PrintJinZiTa(9);
12: myPrintJinZiTa.printHalf();
13: myPrintJinZiTa.print();
14: }
15: }
16: //打印金字塔类
17: class PrintJinZiTa{
18: //定义 打印 层数
19: private int n=0;
20: public PrintJinZiTa(int n){
21: this.n=n;
22: }
23: //打印金字塔的右一半
24: public void printHalf(){
25: for(int i=0;i<n;i++){
26: for(int j=0;j<i+1;j++){
27: System.out.print("*");
28: }
29: System.out.println();
30: }
31: }
32: //打印金字塔
33: public void print(){
34: int half_n=(this.n*2-1)/2;
35: for(int i=0;i<n;i++){
36: for(int l=0;l<half_n-i;l++){
37: System.out.print(" ");
38: }
39: for(int k=0;k<i;k++){
40: System.out.print("*");
41: }
42: for(int j=0;j<i+1;j++){
43: System.out.print("*");
44: }
45: System.out.println();
46: }
47: }
48: }
- 类和对象的区别的联系
-
-
1: 程序如下:
2: /*
3: * 功能:通过打印数学的九九乘法表,练习 类的成员方法
4: */
5: package lesson4;
6: public class _4ChengFaBiao {
7: /**
8: * @param args
9: */
10: public static void main(String[] args) {
11: // TODO Auto-generated method stub
12: ChengFaBiao chengFaBiao=new ChengFaBiao(9);
13: }
14: }
15: class ChengFaBiao{
16: public ChengFaBiao(int n){
17: for(int i=1;i<=n;i++){
18: for(int j=1;j<=i;j++){
19: System.out.print(j+"*"+i+"="+i*j+" ");
20: if((i==3&&j==2)||(i==4&&j==2)){
21: System.out.print(" ");
22: }
23: }
24: System.out.println();
25: }
26: }
27: }
-
-
- 构造方法是一种特殊的方法,具有以下特点。
(1)构造方法的方法名必须与类名相同。
(2)构造方法没有返回类型,也不能定义为 void,在方法名前面不声明方法类型。
(3)构造方法的主要作用是完成对象的初始化工作,它能够把定义对象时的参数传给对象的域。
(4)构造方法不能由编程人员调用,而要系统调用。
(5)一个类可以定义多个构造方法,如果在定义类时没有定义构造方法,则编译系统会自动插入一个无参数的默认构 造器,这个构造器不执行任何代码。
(6)构造方法可以重载,以参数的个数,类型,或排列顺序区分。
我个人认为规定是没有返回的,但实际是隐式返回的类的对象。
- 构造方法是一种特殊的方法,具有以下特点。
- 案例:实现使一个矩阵的元素转置
程序如下:
1: /*
2: * 功能:将一个三维矩阵进行转置,联系 类的成员方法
3: */
4: package lesson4;
5: public class _5ShuZuZhuanZhi {
6: /**
7: * @param args
8: */
9: public static void main(String[] args) {
10: // TODO Auto-generated method stub
11: ShuZuZhuanZhi shuZuZhuanZhi=new ShuZuZhuanZhi();
12: }
13: }
14: class ShuZuZhuanZhi{
15: public ShuZuZhuanZhi(){
16: int temp=0;
17: int[][] myArr={{1,2,3},{4,5,6},{7,8,9}};
18: for(int i=0;i<3;i++){
19: for(int j=i+1;j<3;j++){
20: temp=myArr[i][j];
21: myArr[i][j]=myArr[j][i];
22: myArr[j][i]=temp;
23: }
24: }
25: for(int i=0;i<3;i++){
26: for(int j=0;j<3;j++){
27: System.out.print(myArr[i][j]+" ");
28: }
29: System.out.println();
30: }
31: }
32: }