【Java】零基础语法笔记(三)面向对象

面向对象

  1. 对象

  2. 构造方法

  3. 引用与对象实例

  4. static

  5. final

  6. 封装

  7. 继承

  8. 方法重载与重写

  9. 多态

  10. 抽象类

  11. 接口

  12. 内部类

1. 类

public class 类名 {

//定义属性部分(成员变量)

属性1的类型 属性1;

属性2的类型 属性2;

...

//定义方法部分

方法1

方法2

...

}

样例

public class People {
//属性(成员变量) 有什么
    double height;  //身高
    int age;     //年龄
    int sex;    //性别,0为男性,非0为女性

//方法 干什么
    void cry(){
        System.out.println("我在哭!");
    }
    void laugh(){
        System.out.println("我在笑!");
    }
    void printBaseMes(){
        System.out.println("我的身高是"+height+"cm");
        System.out.println("我的年龄是"+age+"岁");
        if(this.sex==0)
            System.out.println("我是男性!");
        else
            System.out.println("我是女性!");

    }
}

 

1.1 类变量

  • 局部变量:在方法、构造方法或者语句块中定义的变量被称为局部变量。变量声明和初始化都是在方法中,方法结束后,变量就会自动销毁。
  • 成员变量:成员变量是定义在类中,方法体之外的变量。这种变量在创建对象的时候实例化。成员变量可以被类中方法、构造方法和特定类的语句块访问。
  • 类变量:也叫静态变量,类变量也声明在类中,方法体之外,但必须声明为 static 类型

2. 对象

类名 对象名 = new 类名();

public class NewObject {
    public static void main(String[] args) {
        People LiLei = new People(); //创建一个People对象LiLei

        LiLei.height =170;
        LiLei.age = 20;
        LiLei.sex = 1;

        LiLei.printBaseMes();
    }
}

 2.1 对象的属性和方法

//引用对象属性
对象名.属性

//引用对象方法
对象名.方法

LiLei.height = 170;
LiLei.cry();

 2.2 对象变量的使用范围

  1. 局部变量的作用域仅限于定义它的方法内。而成员变量的作用域在整个类内部都是可见的。
  2. 同时在相同的方法中,不能有同名的局部变量;在不同的方法中,可以有同名的局部变量。
  3. 成员变量和局部变量同名时,局部变量具有更高的优先级。 

【Java】零基础语法笔记(三)面向对象_第1张图片

3. 构造方法

 创建一个对象的时候,至少调用一个构造方法。

//与类同名,可以指定参数,没有返回值

public 构造方法名(){

//初始化代码

}

public class People{
    //无参构造方法
    public People(){

    }
    //有一个参数的构造方法
    public People(int age){

    }
}
  • 如果在定义类的时候没有写构造方法,系统会默认生成一个无参构造方法,这个构造方法什么也不会做。
  • 当有指定的构造方法时,系统都不会再添加无参构造方法了。
  • 构造方法的重载:方法名相同,但参数不同的多个方法,调用时会自动根据不同的参数选择相应的方法。

4. 引用与对象实例

Object object=new Object();

5. static 静态方法 与 静态成员

5.1 静态成员

Java 中被 static 修饰的成员称为静态成员或类成员。

它属于整个类所有,而不是某个对象所有,即被类的所有对象所共享。

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

5.2 静态方法

被 static 修饰的方法是静态方法,

静态方法不依赖于对象,不需要将类实例化便可以调用,

由于不实例化也可以调用,所以不能有 this,也不能访问非静态成员变量和非静态方法。

但是非静态成员变量和非静态方法可以访问静态方法。 

6. final 关键字

final 关键字可以修饰类、方法、属性和变量

  1. final 修饰类,则该类不允许被继承,为最终类
  2. final 修饰方法,则该方法不允许被覆盖(重写)
  3. final 修饰属性:则该类的属性不会进行隐式的初始化(类的初始化属性必须有值)或在构造方法中赋值(只能选其一)
  4. final 修饰变量,则该变量的值只能赋一次值,即常量
//静态常量
public final static String GIT_HUB_ID="@HANXU2018";

 

你可能感兴趣的:(Java)