面向对象上

java中的类和对象

类是对象的抽象描述,对象是类的具体实列

类是用于描述多个对象的共同特征,它是对象的模板,对象是描述现实中的个体,是类的实列。

类的定义:类是对象的抽象,描述一组对象的共同特征和行为

【修饰符】 class 类名 【extends 父类名】 【implements 接口名】{

//成员变量

//成员方法

}

package com.wzb.b;
//什么是类和对像
//类的定义就如下
public class B1 {
    public static void main(String[] args) {
    
        Student student = new Student();
        student.age=14;
        System.out.println(student.age);
        student.say();
    }



}

对象

对象就是一个类的实例化

如上图中的鞋是一个类,具有对象的共有属性

红鞋,白鞋就是一个个实例,是类的具体化

java程序中使用new 关键字来创建对象

使用new关键字的时候,除了分配空间,还会为创建好的对象默认初始化以及对类中构造器的调用

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

public class Student {
    int age;//成员变量
    
 public static void main(String[] args) {
 //实例化对象 student就是引用对象
        Student student = new Student();

    }
    public  void say(){
        System.out.println("学生没有认值听课");

    }
}

**student同样是一个变量**

是一个引用类型中类变量

student储存的是一个地址,是Student对象的地址

 

 

类变量是储存在栈里面

引用对象是储存在堆内存里就是上图堆内存的小格子

方法的调用

//方法有两种调用方式
//同时方法也非静态方法和非静态方法

非静态方法需要实例化对象后才可以调用

//创建一个Student类
public class Student {
    int age;
    //zai另一个类中调用此方法
    public  void say(){
        System.out.println("学生没有认值听课");
    }
}
在B1调用上述类
public class B1 {
    public static void main(String[] args) {
    //实例化类
        Student student = new Student();
     //在调用
        student.say();
    }

}

学生没有认值听课

静态方法可以直接调用

//创建一个Student类
public class Student {
    int age;
    //加了static
    public static void say(){
        System.out.println("学生没有认值听课");
    }
}
public class B1 {
    public static void main(String[] args) {
       
        Student.say();
    }
}
学生没有认值听课

方法的调用就这两种

静态方法直接可以调用

非静态方法需要实例化对象才能调用

 

在一个类中一个方法调用另一个方法

静态方法调用静态方法,

非静态方法可以调用静态方法

静态方法不可以调用非静态方法

 

原因:用static修饰的方法是和类一起加载的,静态方法已经存在,非静态方法并未存在

不存在 的调用存在的,它调用不了啊

 

垃圾对象

当对象被实例化后,会有一个对象的引用变量来访问对象成员。当没有任何变量来引用这个对象,它就变成垃圾对象

垃圾回收线程会将垃圾对象回收

 

访问控制符

在Java中针对类,成员方法,属性提供了4中访问级别

private defaullt protected public

 

 

访问由小到大

https://blog.csdn.net/lanmuhhh2015/article/details/78980908

2021-03-11 21:06:44

posted @ 2021-03-11 21:07  域明夜  阅读(91)  评论(0)    收藏  举报