前言:此系列主要注重于实用性和易懂性,能让读者快速理解并运用相关知识,主要讲述常用用法,要更深入全面了解某项知识请移步其他文章或进入本文提供的链接。
对象
我们总说Java是面向对象的编程,对象究竟是什么,顾名思义,对象就是一个概念,是你要描述的目标,万物都可以是对象,可以是一辆车,一个计划,一个城市等等。
Class类
有了对象,我们就需要一个程序来描述这个对象,类就是用来存储一个对象的信息,操作等等。另一个方面,一个类相当于是一个单独的程序,Java代码就写在类里面,一个完整的Java程序就是多个类的整合
public class test {
public static void main(String[] args) {
System.out.println("hello Java");
}
}
public class people {//代表一个人的类
private String name;//人的名字
private int age;//人的年龄
public void setname(String name) {//修改人名的操作
this.name = name;
}
}
方法
方法就相当于是C语言里面的函数,用于帮你做一些固定的操作,一个类里面可以写多个方法
public class intop {
public int intsum(int a,int b) {
return a+b;
}
public int intsub(int a,int b) {
return a-b;
}
}
类的引用(实例化)
通过实例化创建一个对象是Java里很常用的操作,而C语言并没有实例化一说。实例化其实很好理解,比如我写一个代表一台电脑的类,电脑得有cpu吧,而cpu这个对象我写在另一个类里,而实例化操作,就是帮我创建一个cpu对象在这台电脑里,然后还可以使用这个cpu的功能。
再说一个例子,我写一个程序,需要对整数进行加减,那么我写好了一个代表计算器的这样一个类,我在主程序里实例化后,就创建了一个计算器对象,然后就可以使用其中的方法来帮我做计算。
intop intop1 = new intop();//通过实例化创建一个名为intop1的计算器对象
int a = intop1.intsum(1, 2);//使用加法功能
int b = intop1.intsub(1, 2);//使用减法功能
类的构造器
上面说了实例化创建一个对象,但往往创建一个对象时需要一些参数,就好比造一栋房子要知道楼层和高度,这时就有了构造器的概念,用于创建时输入其需要的参数
构造器写在类中,与类同名,输入需要的参数,设定初值
public house(int floors) {//一栋楼的构造器,需要输入楼层数
this.floors = floors;
}
house house = new house(5);//创建一个5楼高的房子
public等修饰符
在Java里经常看见public等修饰符在各种对象前面,其代表了什么意义,下面总结一下。
public: 被public标记的属性,方法等可以自由地被其他类调用
protect: 可以被自己,同一个包里的类,或者它的子孙类调用,所以继承时常常使用
private: 只能在自己的类中使用,其他类中都无法知道,调用,常用来隐藏类的内部实现
default: 不加其他修饰符时,系统默认的访问模式,只允许自己和同一个包里的类访问。
修饰符 | 同一个类 | 同一个包 | 不同类的子类 | 不同类的非子类 |
---|---|---|---|---|
public | √ | √ | √ | √ |
protect | √ | √ | √ | × |
private | √ | × | × | × |
default | √ | √ | × | × |
final: 被final修饰的方法不能被重写,属性只能被赋值一次且不能更改
static: 标志方法属性为静态,简单来说,就是原本要使用一个类里的方法或者属性,需要先实例化,但如果这个方法或属性是静态,就不用实例化了,直接调用即可
public static int intsum(int a,int b)//把intsum改为static
int a = intop.sum(1,2);//改为静态后就不需要实例化,直接调用