打赏

JAVA入门到精通-第7讲-成员方法-构造方法

 方法的声明没有函数体;
 void 不需要return; 其他的如int 是需要return的;

 
   2.3默认是double类型的,把double的数强行传给float类型的;


 
 转置:横坐标和纵坐标转换;

 
 
 
  构造方法的主要用处是初始化你的成员属性(变量);
   初始化不需要. 点,会自动初始化
   通过 构造方法 在类中直接创建;
 
 
在没有构造方法的时候,就需要成员符号,点号。
 
你调用哪个构造方法,取决于参数值;
 
 
 
 写出来别人覆盖不了;不写,被后面的覆盖了;

 
 

 

--类的成员方法(函数)--如何理解

如何理解方法这个概念,给大家举个通俗的示例:

程序员调用方法:给方法必要的输入,方法返回结果。

 

类的成员方法--声明

public int test(int a);/*方法声明*/

这句话的作用是声明该方法,声明的格式为:

    访问修饰符 数据类型 函数名(参数列表);

在给Person类添加add方法的例题中,我们看到的关键字return,它的功能是把表达式的值返回的值返回给主调函数的方法。

    return 表达式;

 

类的成员方法(函数)--特别说明

1、方法的参数列表可以是多个

案例:在Person类中编写一个成员方法,从键盘输入三个数,返回最大的那个数。

参数列表可以是多个,并且数据类型可以是任意的类型int float double char..

    访问修饰符 返回数据类型 函数名(参数列表){

       语句; //函数主体

    }

 

2、方法可以没有返回值

案例:编写一个函数,从控制台输入一个整数打印出对应的金字塔。

返回类型可以是任意的数据类型(int,float,double,char..)也可以没有返回值void表示没有返回值

    访问修饰符 返回数据类型 函数名(形参列表){

       语句; //函数主体

    }

 

类的成员方法(函数)--小练习

案例:编写一个成员函数,从键盘输入一个整数(1-9),打印出对应的乘法表[Demo110.java]

31
 
1
//实例键盘输入打印乘法表[Demo110.java]
2
import java.io.*;
3
public class Demo110{
4
    public static void main(String []args){
5
        Cfb jiu=new Cfb();
6
            jiu.cf();
7
    }
8
}
9
class Cfb{
10
    public void cf(){
11
        try{
12
        //输入流,从键盘接收数
13
        InputStreamReader isr=new InputStreamReader(System.in);
14
        BufferedReader br=new BufferedReader(isr);
15
        //给出提示
16
        System.out.println("请输入1-9,按0退出:");
17
        //从控制台读取一行数据
18
        String a1=br.readLine();
19
        //把String转为int
20
        int num1=Integer.decode(a1);
21
            for(int i=1;i<=num1;i++){
22
                for(int j=1;j<=i;j++){
23
                    System.out.print(i+"×"+j+"="+(i*j)+"\t");
24
                }
25
                System.out.println();          
26
            }
27
        }catch(Exception e){
28
          e.printStackTrace();
29
         }
30
    }
31
}
 

案例:编写函数,使给定的一个二维数组(3×3)转置

 

类定义的完善

在介绍了成员方法后,我们类的定义就可以完善一步:

class 类名{             class 类名{               待定

成员变量;             成员变量;                   

}                       成员方法;

                        }

 

小结:1.先设计类;2.然后根据类创建对象。

小练习:

1、设计计算机类,要求如下:[Demo109.java]

属性:品牌(Brand)、颜色(Color)cpu型号(CPU)、内存容量(Memory)、硬盘大小(Harddisk)、价格(Price)、工作状态(Work)

方法:打开(Open)、关闭(Close)、休眠(Sleep)

创建一个计算机对象,调用打开,关闭方法

/

 
1
/计算机类与对象的代码
2
import java.io.*;//加载IO流包
3
public class Demo109{
4
    public static void main(String []args){
5
        Computer Pc=new Computer();
6
            Pc.Brand="品牌";
7
            Pc.Color="颜色";
8
            Pc.Cpu="Cpu型号";
9
            Pc.Memory="内存容量";
10
            Pc.Hd="硬盘容量";
11
            Pc.Price="价格";
12
            Pc.Work="工作状态";
13
            try{
14
            //输入流,从键盘接收数
15
            InputStreamReader isr=new InputStreamReader(System.in);
16
            BufferedReader br=new BufferedReader(isr);
17
            //给出提示
18
            System.out.println("请输入0-9控制机器");
19
            //从控制台读取一行数据
20
            String a1=br.readLine();
21
            //把String转为float
22
            float num1=Float.parseFloat(a1);
23
            if(num1==0){Pc.open();}
24
            else if(num1==1){Pc.close();}
25
            else if(num1==2){Pc.sleep();}
26
            else if(num1==3){System.out.println(Pc.Brand);}
27
            else if(num1==4){System.out.println(Pc.Color);}
28
            else if(num1==5){System.out.println(Pc.Cpu);}
29
            else if(num1==6){System.out.println(Pc.Memory);}
30
            else if(num1==7){System.out.println(Pc.Hd);}
31
            else if(num1==8){System.out.println(Pc.Price);}
32
            else if(num1==9){System.out.println(Pc.Work);}
33
            else {System.out.println("输入错误!");}
34
            }catch(Exception e){
35
            e.printStackTrace();
36
            }
37
    }
38
}
39
 
40
class Computer{
41
    String Brand;
42
    String Color;
43
    String Cpu;
44
    String Memory;
45
    String Hd;
46
    String Price;
47
    String Work;
48
    public void open(){
49
        System.out.println("开机");
50
    }
51
    public void close(){
52
        System.out.println("关机");
53
    }
54
    public void sleep(){
55
        System.out.println("休眠");
56
    }
57
}

1、 采用面向对象思想设计超级马里奥游戏人物

 

 

-------------------------------------------------------------------------------

 

2java面向对象编程(1)-构造方法(函数)

类的构造方法介绍

什么是构造方法呢?在回答这个问题之前,我们来看一个需求:前面我们在创建人类的对象时,是先把一个对象创建好后,再给他的年龄和姓名属性赋值,如果现在我要求,在创建人类的对象时,就直接指定这个对象的年龄和姓名,该怎么做?

           

你可以在定义类的时候,定义一个构造方法即可。

 

构造方法是类的一种特殊的方法,它的主要作用是完成对新对象的初始化。它有几个特点:

1、方法名和类名相同

2、没有返回值

3、在创建一个类的新对象时,系统会自动的调用该类的构造方法完成对新对象的初始化。

特别说明:

一个类可以定义多个不同的构造方法。

//例人类构造方法[Demo111.java]

public class Demo111{

    public static void main(String []args){

        Person p1=new Person(12,"顺平");//给予不同的初始值,调用的构造方法不同,构造方法虽同名,但系统会根据初始值来选定构造方法。

    }

}

//定义一个人类

class Person{

    int age;

    String name;

    //默认构造方法

    public Person(){

    }

    //构造方法的主要用处是:初始化你的成员属性(变量)

    //构造方法

    public Person(int age,String name){

        System.out.println("我是构造1");

        age=age;

        name=name;

    }

    //构造方法2

    public Person(String name){

        System.out.println("我是构造2");

        name=name;

    }

}

 

类的默认构造方法

有些同志可能会问?亲爱的老师,我们在没有学习构造函数前不是也可以创建对象吗?

是这样的,如果程序员没有定义构造方法,系统会自动生成一个默认构造方法。比如PersonPerson (){};

当创建一个Person对象时Person per1=new Person();默认的构造函数就会被自动调用。

 

类的构造方法小结:

1、构造方法名和类名相同;

2、构造方法没有返回值;

3、主要作用是完成对新对象的初始化;

4、在创建新对象时,系统自动的调用该类的构造方法;

5、一个类可以有多个构造方法;

6、每个类都有一个默认的构造方法。

 

类定义的改进

在提出构造方法后,我们类的定义就应该更加完善了:

class 类名{     class 类名{     class 类名{

成员变量;       成员变量;       成员变量;

}             成员方法;     构造方法;     待定..

                }               成员方法

                                }







posted on 2018-11-30 14:52  XuCodeX  阅读(451)  评论(0编辑  收藏  举报

导航