首页 > 代码库 > Java学习笔记1——类和对象

Java学习笔记1——类和对象


面向对象

  1. 对象:万物皆对象

  2. 面向对象

  3. 类:模子,属性+方法,类是对象的类型,是具有相同属性和方法的一组对象的集合

  4. 对象属性:对象拥有的各种特征,“对象有什么”

  5. 对象方法:对象执行的操作,“对象能干什么”

  6. 类与对象的关系/区别:类是抽象的,仅仅是模版;对象是看得到,摸得着的具体实体。例如:‘手机’类,对象为iPhone6,Lumia920

Java中的类

  1. 定义类:Java程序都以类class为组织单元

    创建一个对象

    //1.定义一个类

    public class Telphone{

    //2.属性(成员变量)有什么

    float screen;

    float cpu;

    float mem;

    //3.方法 干什么

    void  call(){

    System.out.println(‘Telephone有打电话的功能‘);

    }

    }


  2. 使用对象的步骤

    1.创建对象:类以代码的形式放在文件中->实例化 new ->内存中的对象

        类名   对象名  =  new 类名();  //类实例化变成对象

        Telephone phone = new Telphone();

    spacer.gifspacer.gifspacer.gifwKioL1Qz4GjQFmYYAAGDLdiqeZE813.jpg

    2.使用对象

       引用对象的属性:对象名.属性

        phone.screen = 5;

       引用对象的方法:对象名.方法名()

        phone.sendMessage();

    例如:

    public class InitalTelphone{

    public static void main(String[] args){

         //创建对象

         Telphone phone = new Telphone();

          phone.sendMessage();

          //给实例变量赋值

          phone.screen = 5.0f;

          phone.cpu = 1.4f;

          //调用对象方法

          phone.sendMessage();

    }

    }

Java中的成员变量和局部变量

  1. 成员变量:在类中定义,用来描述对象有什么。

  2. 局部变量:在类的方法中定义,在方法中临时保存数据。

  3. 区别:

    1.作用域不同

       局部变量:仅限于定义它的方法

       成员变量:整个类内部都是可见

    2.初始值不同

       Java会给成员变量一个初始值

       Java不会给局部变量赋予初始值

    3.在同一方法中,不允许有同名局部变量

       在不同方法中,可以有同名局部变量

    4.成员变量、局部变量同名时,局部变量更有优先级

       

spacer.gifwKioL1Qz4NbDcCMrAAKc2pnYYIU736.jpg

构造方法

  1. 使用new+构造方法,创建一个新的对象

  2. 构造方法是定义在Java类中的一个用来初始化对象的方法

    构造方法与类同名且没有返回值

    spacer.gifwKioL1Qz4RjwYd2zAACd7L_4fL0502.jpg

  3. 无/有参构造方法的使用

    Telphone类:

    public class Telphone{

       float screen;

       float cpu;

       float mem;

       public Telphone(){

        System.out.println(‘无参的构造方法执行了!‘)

    }

        public Telphone(float newScreen,float newCpu,float newMem){

           //构造方法给对象的属性赋一个合理的值

           if(newScreen<3.5f){

               System.out.println(‘您输入的参数有问题,自动赋值3.5‘);

               screen = 33.5f;

    }else{

           screen = newScreen;

    }

           cpu = newCpu;

           mem = newMem;

    }

    }

    入口类InitalTelphone,包含入口函数main():

    public class InitalTelphone{

      public static void main(String[]){

         //通过无参的构造方法创建对象

         Telphone phone = new Telphone();

         //通过有参的构造方法也可以创建对象,并给对象中的实例变量赋初值

         Telphone pho2 = new Telphone(5.0f,1.4f,2.0f);

    }

    }

  4. 当没有指定构造方法时,系统会自动添加无参的构造方法

  5. 当有指定构造方法,无论是有参、无参的构造方法,都不会自动添加无参的构造方法

  6. 构造方法的重载:方法名相同,但参数不同的多个方法,调用时会自动根据不同的参数选择相应的方法

  7. 构造方法不但可以给对象的属性赋值,还可以保证给对象的属性赋一个合理的值  

static的使用

  1. static 使用之静态变量:被 static 修饰的成员称为静态成员或类成员。它属于整个类所有,而不是某个对象所有,即被类的所有对象所共享。

    静态成员可以使用类名直接访问,也可以使用对象名进行访问:spacer.gif

    wKiom1Qz4RWjcLnkAAPqaAyc14U581.jpg

  2. static使用之静态方法:static 修饰方法,称为静态方法或类方法

    静态的方法的使用:

    spacer.gifwKioL1Qz4YjwzFAnAAMrlkzhliI465.jpg

    例:在编辑器中分别定义了两个静态变量 score1 和 score2 ,用于保存成绩信息。定义了一个静态方法 sum ,用于计算成绩总分,在 main 方法中通过调用静态方法输出成绩总分

    public class HelloWorld {

        

        // 定义静态变量score1

        static int score1 = 86;

        // 定义静态变量score2

     static int score2 = 92; 

        // 定义静态方法sum,计算成绩总分,并返回总分

     public static int sum() { 

          return score1+score2;

     }

     public static void main(String[] args) {

            

            // 调用静态方法sum并接收返回值

      int allScore = HelloWorld.sum();

            

      System.out.println("总分:" + allScore);

     }

    }

  3. static 使用之静态初始化块:Java 中可以通过初始化块进行数据赋值。需要特别注意:静态初始化块只在类加载时执行,且只会执行一次,同时静态初始化块只能给静态变量赋值,不能初始化普通的成员变量。静态成员属于整个类所有,而不是某个对象所有;静态成员的访问既可以使用类名,也可以使用对象名。

spacer.gifwKiom1Qz4Z3j49ZeAAQQw4U4Aqc376.jpg


本文出自 “月光化成灰” 博客,请务必保留此出处http://ankneo.blog.51cto.com/9446030/1561065

Java学习笔记1——类和对象