面向对象:
对于面向过程的语言,它考虑的是实现某个目的该按什么样的步奏来进行,比如我想开车去新建,首先把这件事情分成很多的过程,比如开车门,踩离合,过山西等等这样一系列的过程。代码的课重用性太差,如果要实现某个过程就要重复的写这段代码。
对于面向对象的语言,它从现实世界中吧具体事务抽象成软件系统,并使系统具备人类的自然思维方式,使人更加容易理解,在考虑面向对象问题时,首先考虑该问题中具有哪些类哪些对象,然后考虑这些类和对象该具有哪些属性和方法,最后考虑这些类和类之间具有什么样的关系。
对象之间的关系:
关联关系:关联是所以关系中最弱的一种关系,一般的关联关系中,某个类的方法的参数是另外一个对象。
继承关系:如果某个类能说明是一种类(比如球类运动员是一种运动员),java中的继承关系都是单继承。
聚合关系:如果能说明某个对象是另一个对象的一部分,那就是聚合关系,比如(队长是球队的一部分)。
实现关系,实现关系一般出现在接口当中,比如车是一个类,卡车继承了车类,轿车继承了车类,他们都有一个实现run的方法,但是卡车的run又和轿车的run不一样。
java成员变量:java中在方法体外面,类体里面定义的变量叫成员变量,成员变量的作用域在整个类当中,定义成员变量时,最好对其进行初始化,如果没有初始化,系统将默认对其初始化,成员变量的类型包括引用类型和基本数据类型。
引用:除了基本的数据类型,其他类型都可叫做引用类型,引用类型的内存执行过程是这样的,(比如String s = new String())首先在站内分配一个局部变量s,new String()的结果是在堆当中分配一块内存,存储new出来的对象,而局部变量s的值存的便是new出来string的地址,这就实现了从s指向new出来的对象。
对象:对象必须使用new关键字来实现,访问对象的成员变量使用的是对象.成员变量名,类方法的使用需要对象.方法名,同一个类的成员变量有不同的存储空间,同一个类的每个对象,共享该类所有方法。
构造方法:在创建新对象时,是new加构造方法来创建,并用来初始化成员变量,构造方法与类同名,且没有返回值,当类中没有构造方法时,编译系统将自动创建一个构造方法(){},如果人为在类中写了构造方法,那么系统就不会再创建构造方法了,但是调用构造方法时,必须使用一创建的那个。
方法的重载:类可以定义相同名的方法,但是参数名必须不同,这样可以实现方法的重载,调用时根据不同的参数来确定调用的方法。