面向对象
面向过程思想
按步骤一步一步进行下去,步骤清晰简单
面向对象思想
物以类聚,分类的思想模式,先将问题分类,对这些分类进行单独思考,最后,才对某个分类的细节进行面向过程的方式解决
面向对象编程OOP
以类的方式组织代码,以对象的组织封装数据
三大特性
- 封装
- 继承
- 多态
方法的调用
静态方法可以通过类名直接调用
public class demo1{
public static void main(String[] args) {
Student.print();
}
}
public class Student{
// 类中的方法为静态方法,可以通过类名直接调用
public static void print(){
System.out.println("zhangsan");
}
}
非静态方法,需要实例化类,调用方法
Student student = new Student();
student.print();
一个类中,既有静态方法,又有非静态方法,无法在静态方法中使用非静态方法
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-S9SPFE5v-1664545313471)(D:\BiliJavaLearn\静态方法不能调用非静态方法.png)]
值传递:
package Arrays;
public class Demo1 {
public static void main(String[] args) {
int a = 1;
System.out.println(a); // 1
change(a);
System.out.println(a); // 1
}
public static void change(int a){
a = 10;
}
}
引用传递:
package Arrays;
public class Demo1 {
public static void main(String[] args) {
Person person = new Person();
System.out.println(person.name); // null
change(person);
System.out.println(person.name); // zhangsan
}
public static void change(Person person) {
person.name = "zhangsan";
}
}
class Person {
String name;
}
person是一个对象,指向的是Person类,理解对象和内存的关系
类和对象的关系
类是一种抽象的数据类型,它是对某一类事物整体描述、定义,但不代表某一个具体的事物
对象是抽象概念的具体实例
- 使用new关键字创建对象
使用new创建对象的时候,除了分配内存空间之外,还会给创建好的对象进行默认的初始化,以及对类中构造器的调用
类中的构造器也成为了构造方法,在创建的时候必须调用,一个类即使什么都写,也会默认生成一个构造方法
构造方法 名与类名相同,且没有返回值
作用:可以实例化初始值,可重载多个有参构造器
- 栈中存放的一般都是方法和变量的引用
- 堆中有一个特殊的区域-方法区,堆一般存放的是创建出来的对象
今天的学习内容固然有些少了,而且有点心不在焉,这两天听到的事情有点分心了,以后需要考虑的事情也多了,需要承担的事情也多了,不光是室内的大小事情都需要你来处理,处理的时候还需要多方面考虑到,尤其要领会字里行间透漏的信息,想问题的时候多想想为什么,可能思路就开阔了,但我还是希望能坚持下来,加油吧兄弟们