zoukankan      html  css  js  c++  java
  • 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)+"	");
    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 类名{

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

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

                    }               成员方法

                                    }







  • 相关阅读:
    深度之眼PyTorch训练营第二期 --- 8、权值初始化
    深度之眼PyTorch训练营第二期 ---7、nn网络层--卷积层
    深度之眼PyTorch训练营第二期 ---6、nn.Module与网络模型构建
    C#数据库部分复习
    【jzoj1481】偷懒的西西
    【2020.12.03提高组模拟】黎明卿 (bondorudo)
    【2020.11.30提高组模拟】剪辣椒(chilli)
    引流
    【高精度】加减乘+组合数+比较大小(结构体)
    【易懂】费用流【SDOI2009】晨跑
  • 原文地址:https://www.cnblogs.com/xuxaut-558/p/10044141.html
Copyright © 2011-2022 走看看