JAVA语言新手之路 —— 类和对象(一)
类和对象的基本概念
1、先了解面向对象和面向过程的区别
2、面向对象的概念
学生考试:老师需要通过考试模板打印出班上学生数量的卷子供学生们考试。其中模板就是一个类,而通过模板打印出来的卷子就是那个对象。
总的来说:类相当于一个模板,对象是由模板产生的样本。
小结:
1、类是抽象的,对象是具体的
2、一个类可以产生无数个对象
3、类就是一类对象的统称,对象就是这一类具体化的一个实例
类和类的实例化
基本语法
class为定义类的关键字
实例化过程
用类类型创建对象的过程,称为类的实例化
小结
1、new关键字用于创建一个对象的实例化
2、使用 . 来访问对象中的属性和方法
3、同一个类可以创建多个实例
类的成员
1、字段/属性/成员变量
基本语法
字段赋值
认识null
null在java里面为“空引用”,表示不引用任何对象
如果对null进行 . 操作会引发报错
2、方法
用于描述对象的行为
此处的show方法,表示person这个对象具体的一个”自我介绍“的行为
有人就会问了,那name和age可以创建其他实例的时候更改吗?
答案是可以的!
3、static关键字
1、修饰属性
2、修饰方法
3、修饰类
3.1、修饰属性
Java静态属性和类相关,和具体的实例无关
同一个类的不同对象共用一个静态属性
从运行结果看分析到,count的变量好像会一直累加,不会因为引用新的对象而重新累加
首先代码在栈上增加了一个test的变量地址指向对象,在堆区引用对象访问Test类的内部;然后调用Test类的内部a的值加1;由于count被static修饰,所以无需通过实例对象,就可以直接调用sount加1 ,存储在方法区中;
解析:count被static修饰,所有类共享,且不属于对象,访问方式:类名.属性
3.2、修饰方法
如何方法上应用static关键字,此方法称为静态方法
1、静态方法属于类,而不属于类的对象
2、可以直接调用静态方法,而无需创建类的实例
3、静态方法可以访问静态数据成员,并可以更改静态成员的数值
小结:
1、静态方法和实例无关,而是和类相关
2、静态方法不能直接使用非静态成员变量或者调用普通方法
3、main方法为stctic方法