Java学习笔记三(对象的基本思想一)
1 面向对象编程(OOP)的基本思想
面向对象就是描述对象和对象之间的相互作用;和面向过程编程的区别:面向过程编程时首先确定算法,再确定数据结构;OOP是先确定数据结构,在确定运算。
对象有两个特征:状态和行为;把相似的对象规化为一类,在软件中类就是一个模板,它定义了通用于一个特定种类的所有对象的所有状态和方法;
类是创建对象的模板,对象的类的实例;
2 类的入口函数和构造函数
(1)类的入口函数定义为 public static void main(Sting [] args)
当一个类中有main()方法,执行命令“java 类名”则会启动虚拟机执行该类中的main方法。
1)public关键字,声明主函数为public就是告诉其他的类可以访问这个函数。
2)static关键字,告知编译器main函数是一个静态函数。也就是说main函数中的代码是存储在静态存储区的,即当定义了类以后这段代码就已经存在了。
如果 main()方法没有使用static修饰符,那么编译不会出错,但是如果你试图执行该程序将会报错,提示main()方法不存在。因为包含main()的类
并没有实例化(即没有这个类的对象),所以其main()方法也不会存。而使用static修饰符则表示该方法是静态的,不需要实例化即可使用。
3)void关键字表明main()的返回值是无类型。
4)参数String[] args 的主要作用是为程序使用者在命令行状态下与程序交互提供了一种手段
(2)类的构造函数:在一个对象定义的时候就初始化该类的所有变量。它具有很类具有完全一样的名字,且构造函数没有返回值。
构造函数的特点:1)构造方法的方法名必须与类名相同。
2)构造方法没有返回类型,也不能定义为void,在方法名前面不声明方法类型。
3)构造方法的主要作用是完成对象的初始化工作,它能够把定义对象时的参数传给对象的域。
4)构造方法不能由编程人员调用,而要系统调用。
5)一个类可以定义多个构造方法,如果在定义类时没有定义构造方法,则编译系统会自动插入一个无参数的默认构造器,这个构造器不执行
任何代码。 各种数据类型的默认值为 int -->0;boolean-->false;对象-->NULL;char--->'\0'
6)构造方法可以重载,以参数的个数,类型,或排列顺序区分。
3 Java 方法的重载
产生重载的的知识点:
1)、针对同一个类中的一个函数来说的;
2)、这组函数中,函数名称相同(一般情况下建议功能相似的函数才做函数重载);
3)、形式参数不相同,包括参数的个数不同、参数的类型不同或参数个数和类型都不相同;
4)、与函数的返回值类型没有关系
5)、在调用函数时会根据参数的类型和个数自动去匹配,决定调用哪个函数。这种匹配是不精确的,会找最精确的,如果没有最精确的,会找次精确的,以此类推,
而且这种匹配不需要人为去调用。