目录
一.面向对象
C语言相信大家应该都不陌生,它是一门面向过程的语言,关注的是过程,通过分析求解问题的过程,再通过函数逐步调用,最后解决问题。
而Java是基于面向对象的,关注的是对象,将一件事拆分为多个对象,通过对象之间的交互解决问题。
1.1.怎么去形容面向对象呢?
- 简单来说面向对象就是用代码(类)来描述客观世界的事物的一种方式, 一个类主要包含一个事物的属性和行为。面向对象其实就是一种思考问题的方式,是一种思想
所以在用面向对象的思想去解决问题时就可以分为:找对象,建对象,用对象,并维护对象之间的关系。
1.2.类和对象的概念
类就是一类对象的统称。对象就是这一类具体化的一个实例。
举个例子:盖房子的时候我们会有设计图纸,设计图纸就是一个类,而通过这个图纸我们就可以盖出房子,那么在这个例子当中,类就是那个图纸,而房子就是那个对象,所以房子就是一个实体。一个图纸可以实例化无数个对象(当然,正常情况下一个图纸建一个房子就好了,家里有矿的无所谓,你可以认为是在建别墅群)。
总的来说:类相当于一个模板,对象是由模板产生的样本。一个类,可以产生无数的对象。
声明一个类就是创建一个新的数据类型,而类在 Java 中属于引用类型, Java 使用关键字 class 来声明类。在一个类中有属性和方法,实例化通过new 关键字就可以创建一个对象,使用 .
来访问对象中的属性和方法。
1.3.static关键字详解
static关键字的作用
1.修饰属性
静态属性和类相关,和对象无关。就是说一个用static修饰的属性,它只是依赖于当前类,只能通过
类名 . 属性
访问可以改变属性值。通过当前类实例化后产生的对象无法访问,所以和对象无关。
class TestDemo{
public int a;
public static int count;
}
public class Java20210531 {
public static void main(String[] args) {
TestDemo s1 = new TestDemo();
s1.a++;
TestDemo.count++;
System.out.println(s1.a); //1
System.out.println(TestDemo.count); //1
System.out.println("============");
TestDemo s2 = new TestDemo();
s2.a++;
TestDemo.count++;
System.out.println(s2.a); //1
System.out.println(TestDemo.count); //2
}
}
2.修饰方法
如果在任何方法上应用 static 关键字,此方法称为静态方法
1.一样的,静态方法属于类,而不属于类的对象。
2.可以直接调用静态方法,而无需创建类的实例(对象)。
3.静态方法可以访问静态数据成员,并可以更改静态数据成员的值
class TestDemo{