面向对象上
类是对象的抽象描述,对象是类的具体实列
类是用于描述多个对象的共同特征,它是对象的模板,对象是描述现实中的个体,是类的实列。
类的定义:类是对象的抽象,描述一组对象的共同特征和行为
【修饰符】 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
浙公网安备 33010602011771号