java学习记录2

java-learning-code

标题链接是我的github仓库地址,代码需要自取。

1. 类的学习

类: 具有某些共同属性或者共同功能的一类事物
对象:类的具体表现。

example:

 package com.sugar.classLearning;
    //定义Student类,
        public class Student {
        //Member variables
            String name;
            int age;
            double height;
            double weight;
        //成员方法
         public void showData(){
           System.out.println("Name: " + name);
           System.out.println("Age: " + age);
           System.out.println("Height: " + height);
           System.out.println("Wight :" + weight);

     }
        public int lovingDays(String theName){
            if(theName != "Sugar"){
               return 0;
             }
             else{
               return 626;
            }
       } 

}

定义了Student类,拥有name、age、weight、height这四个成员变量
同时定义了showData、lovingDays成员方法。

调用:

	  /*
    * Author:Sugar
    * Date:19:44 in 18th.Mar.2020
    * Learning java class and its method
    */
    package com.sugar.classLearning;
    import com.sugar.classLearning.Student;         //导入类所在的包(同一包下可不导入)
    public class Application {
        public static void main(String[] args) {
            Student daisy = new Student();          //定义类的对象daisy
            daisy.name = "daisy";
            daisy.age = 20;
            daisy.height = 160;
            daisy.weight = 47;
            daisy.showData();                              //调用类的成员函数和成员方法

            int lovingDays;
            String theName = "Sugar";
            lovingDays =  daisy.lovingDays(theName);
            System.out.println(lovingDays);
        }
    }
首先创建*类的对象* 

        Student sugar = new Student();
        Student daisy = new Student();
然后利用创建的对象,调用类的成员变量和成员方法,格式如下:

            daisy.name = "daisy";
            daisy.age = 20;
            daisy.weight = 47;
            daisy.showData();    

2. private关键字

权限大小关系

public > protected > (default) > private

tips:default指不加任何修饰字

example:

		package com.sugar.privateLearning;
        public class privateClass {
            private int age;
            String name;
            /*每个用private修饰的成员变量不可直接访问,可通过setXxx来赋值,getXxx访问
            *this : after this is added, it can represent "member variables"
             */
            public void setAge(int age) {
                this.age = age;
            }

            public int getAge() {
                return age;
            }
    }      

private关键字修饰的变量age,不能直接访问。
需要编写一堆Setter/Getter,来间接访问或者赋值。

调用:

      /*
       * Author:Sugar
       * Date:19:46 in 18th.Mar.2020
       * Learning private and how to use the variables decorated with pravate
       */
       package com.sugar.privateLearning;
       import com.sugar.privateLearning.privateClass;
       public class Application {
           public static void main(String [] args) {
               privateClass sugar = new privateClass();
               sugar.setAge(20);   //通过setAge赋给private的成员变量20
               System.out.println(sugar.getAge());   //通过getAge访问private变量
           }
       }

利用setAge给age赋值,利用getAge访问age。

3. 标准类的格式

一个标准类应该包括:

  • 每个成员变量用private修饰
  • 每个类编写一个无参数Construction Method,一个全参数Construction Method。
  • 每个变量写一堆Getter/Setter
         /*
         *What you need to do is to write the member variablies and click   the"Code"menu  and select generate
         * or command + N to add the method neeeded.
         */
        package com.sugar.standardClass;

        //A standard class

        public class StandardClass {
        //define all the member variables decorated with private
            private String name;
            private int age;

        public void setName(String name) {
        Write a setName method to value the member variables "name"
            this.name = name;
        }

        public String getName() {
        // Write a getName method to visit the member variables "name"
            return name;
        }

        public void setAge(int age) {
         Write a setName method to value the member variables "age"
            this.age = age;
        }

        public int getAge() {
        // Write a getName method to visit the member variables "age"
            return age;
        }

        public StandardClass(String name, int age) {
        // a constrction method with all parames
            this.name = name;
            this.age = age;
        }

        public StandardClass() {
        // a constrction method with on param
        }
        }

4. 方法的重载(overload)

1. 重载的定义

example:

        package com.sugar.overload;

        public class OverloadMethod {
            public double  add(double a,double b,double c,double d){
                System.out.println("调用了4个参数的add方法");
        r       eturn a+b+c+d;
            }
            public double  add(double a,double b,double c){
                System.out.println("调用了3个参数的add方法");
                return a+b+c;
            }
            public double  add(double a,double b){
                System.out.println("调用了2个参数的add方法");
                return a+b;
            }
        }

重载了add方法,包含两个参数、三个参数、四个参数

发布了15 篇原创文章 · 获赞 18 · 访问量 272

猜你喜欢

转载自blog.csdn.net/Sugar2247945677/article/details/104973699