banner
Hi my new friend!

Java-2

Scroll down

3.类与对象

1.定义

:类是对现实生活中一类具有共同属性和行为事物的抽象

对象:万物皆对象,客观存在的事物皆为对象,每个对象的每个属性都拥有特定的值

图片

2.类与对象的关系

类是对象的抽象

对象是类的实体

图片

3.面向对象

即面向一个具体的事物的过程

4.对象的使用

图片

public class StudentDemo {
    public static void main(String[] args) {
        Student s = new Student();
        s.age = 18;
        s.name = "李白";
        s.score = 100.0;
        System.out.println(s.age+" "+s.score+" "+s.name);

        s.study();
        s.dohomework();
    }
}

 class Student {

    String name;
    int age;
    double score;

    public void study() {
        System.out.println("好好学习,天天向上");
    }
    public void dohomework() {
        System.out.println("键盘敲乱,月薪过万");
    }
}

运行结果为

18 100.0 李白
好好学习,天天向上
键盘敲乱,月薪过万

5.对象内存图

5.1单个对象

图片
图片

图片
图片

图片
图片

图片
图片

图片
图片

图片

5.2多个对象

图片
图片

图片
图片

图片
图片
图片
图片
图片
图片
图片
图片

图片
图片

图片
图片

图片

5.3多个对象指向相同

图片
图片

图片
图片

图片
图片

图片
图片

图片

6.成员变量和局部变量

6.1介绍

成员变量:类中方法外的变量

String name; int age;

局部变量:方法中的变量

int i=0; int j=0;

图片

6.2区别

图片

7.封装

7.1private关键字

-是一个权限修饰符

-可以修饰成员(成员变量和成员方法)

-作用是保护成员不被别的类使用,被private修饰的成员只在本类中访问

针对private修饰的成员变量,如果需要被其他类使用,提供相应的操作

-提供”get变量名()“方法,用于获取成员变量的值,方法用public修饰

-提供”set变量名(参数)“方法,用于设置成员变量的值,方法用public修饰

7.2this关键字

this修饰的变量用于指代成员变量

-方法的形参如果与成员变量同名,不带this修饰的变量值指的是形参,而不是成员变量

-方法的形参没有与成员变量同名,不带this修饰的变量指的是成员变量

图片

7.3this内存原理

图片
图片

图片
图片

图片
图片

图片
图片

7.4封装

1.概述

-是面向对象的三大特征之一(封装,继承,多态)

-是面向对象编程语言对客观世界的模拟,客观世界里成员变量都是隐藏在对象内部的,外界是无法直接操作的

2.原则

-将类的某些信息隐藏在类内部,不允许外部程序直接访问,而是通过该类提供的方法来实现对隐藏信息的操作和访问

-成员变量private,提供对应的gextXxx()方法

3.好处

-通过方法来控制成员变量的操作,提高了代码的安全性

-把代码用方法进行封装,提高了代码的复用性

8.构造方法

8.1概述

构造方法是一种特殊的方法

作用:创建对象

图片

8.2注意事项

1.构造方法的创建

-如果没有定义构造方法,系统将给出一个默认的无参数构造方法

-如果定义了构造方法,系统将不再提供默认的构造方法

2.构造方法的重载

-如果自定义了带参数构造方法,还要使用无参数构造方法,就必须再写一个无参数构造方法

3.推荐的使用方式

-无论是否使用,都手工书写无参数构造方法

8.3标准类的使用

public class StudentDemo {
    public static void main(String[] args) {
        Student s = new Student();
        s.setName("李白");
        s.setAge(18);
       Student s1=new Student("李白",19);
        s1.show();
    }
}
    class Student {
    private String name;
    private int age;
    public Student(){
        System.out.println("无参数构造方法");
    }
    public Student(String name,int age) {
        this.name = name;
        this.age = age;
    }
    public void setName(String name){
        this.name=name;
     }
     public String getName(){
        return name;
     }
     public void setAge(int age){
        this.age=age;
     }
     public int getAge(){
        return age;
     }
     public void show(){
        System.out.println(name+" "+age);
     }
    }
Other Articles
cover
Java-3
  • 22/11/26
  • 13:00
cover
Java-1
  • 22/11/26
  • 11:00