zoukankan      html  css  js  c++  java
  • 面向对象

    对象的使用格式
     
    创建对象:
     
    ```java
    类名 对象名 = new 类名();//Student s = new Student();//new Student();叫对象,s对象名变量名,类,类型。
    对象名存的是对象的地址值(数组名存的是数组地址值),通过地址值就可以找到对象,
    int i = 666;//基本数据类型存的是值 
    Student s = ...//引用数据类型存的是地址值,就是new出来的东西,在堆内存,有地址值,s存的是对象的地址值
    //通过地址值就可以找到对象(内存里面存有变量和方法数据),就可以使用对象里面的变量和方法,对象名.
    ```
     
    使用对象访问类中的成员:
     
    ```java
    对象名.成员变量;//对象名,存的是对象的地址值,对象是new出来的,在堆内存中,存的对象里面的变量和方法
    对象名.成员方法();//.读作里面的,对象名,哪里不会点,调用使用(拿到得到)对象里面变量和方法
    ```
     
    成员变量:堆内存,属于对象,dui,堆内存
    局部变量:栈内存,暂时,栈内存
     
    每调用一个方法,方法需进入栈内存
     
    this
    this的含义,this关键字代表对象的引用存的是调用方法的对象的地址值,通过地址值找到地对象,就可以点来调用拿到对象里面的成员变量给成员变量赋值
     
    this代表所在类的当前对象的引用(地址值),即对象自己的引用(对象名)。
     
    > 记住 :方法被哪个对象调用,方法中的this就代表那个对象。即谁在调用,this就代表谁。
    public class Student {
      private String name;//成员变量属于对象里面的
      private int age;
     
      public void setName(String name) {
          //name = name;
          this.name = name;//this,地址值找到对象.里面的成员变量
      }
    }
     
    > 小贴士:方法中只有一个变量名时,默认也是使用 `this` 修饰,可以省略不写。
     
    构造方法,创建对象一定会调用到new关键字构造方法,跑到构造方法{}里面,比如给对象的成员变量进行赋值
     
    当一个对象被创建时候,构造方法用来初始化该对象,给对象的成员变量赋初始值。
     
    > 小贴士:无论你是否自定义构造方法,所有的类都有构造方法,因为Java自动提供了一个无参数构造方法,一旦自己定义了构造方法,Java自动提供的默认无参数构造方法就会失效。
     
    ### 构造方法(构造器,构造对象用的东西)的定义格式
     
    ```java
    修饰符 构造方法名(参数列表){
        // 方法体
    }
    ```
    **构造方法的特点:方法名与它所在的类名相同。它没有返回值,所以不需要返回值类型,甚至不需要void,但是可以return;结束构造方法回到main方法的出口结束程序//记忆**。使用构造方法后,代码如下:
     
    public class Student {
      private String name;
      private int age;
      // 无参数构造方法
      public Student() {}
      // 有参数构造方法
      public Student(String name,int age) {//构造方法作用创建对象调用到构造方法,我就可以里面给对象的成员变量进行赋值,初始化
          this.name = name;
          this.age = age;
      }
        
    注意事项//记忆,创建对象一定会调用到new关键字构造方法
     
    标准代码——JavaBean-标准类
    public class ClassName{
      //私有成员变量
      //构造方法
      //无参构造方法【必须】
      //有参构造方法【建议】
      //成员方法    
      //getXxx()
      //setXxx()
    }
     
    编写符合`JavaBean` 规范的类,以学生类为例,标准代码如下:
     
    ```java
    public class Student {
      //私有成员变量
      private String name;
      private int age;
     
      //构造方法//自动生成,idea快捷键alt insert
      public Student() {}
     
      public Student(String name,int age) {
          this.name = name;
          this.age = age;
      }
     
      //成员方法,get和set方法
      public void setName(String name) {
          this.name = name;
      }
     
      public String getName() {
          return name;
      }
     
      publicvoid setAge(int age) {
          this.age = age;
      }
     
      publicint getAge() {
          return age;
      }
    }
     
     
  • 相关阅读:
    浮点数精度问题(2.01.1=0.8999999999)
    创建android的模拟器时屏幕的大小设置
    hdu 3038 How Many Answers Are Wrong(并查集)
    hdu 3635 Dragon Balls(并查集)
    hdu 1598 find the most comfortable road(并查集+暴力搜索)
    hdu 1671 Phone List (字典树)
    hdu 3047Zjnu Stadium(并查集)
    hdu 1247 Hat’s Words(字典树)
    后缀数组——处理字符串的有力工具
    hdu 2473 JunkMail Filter(并查集+虚拟节点)
  • 原文地址:https://www.cnblogs.com/21556guo/p/13371410.html
Copyright © 2011-2022 走看看