面向对象、类与对象的定义
面向对象概念
程序的发展经历了两个主要阶段:面向过程、面向对像
对于面向对象与面向过程可以用一个例子解释,如一个木匠要做一个盒子,那么做这个盒子的出发点会有两种方式:
面向对象:先想好要做的盒子,之后再去找相应的工具去做。
面向过程:不去想要做什么样的盒子,随需随取工具。
创建对象的语法
类型 对象名 = new 类型();
对象名.属性
面向对象的实例:
//定义类
public class Test{
public static void main(String []args){
//创建一个猫对象
Cat cat1=new Cat();//Cat是定义的一个数据类型
//Cat cat1;
//cat1=new Cat();// 和 Cat cat1=new Cat(); 是一样的
//访问属性的 对象名.属性名字
cat1.age=3;
cat1.name="小白";
cat1.color="白色";
//创建第二只猫
Cat cat2=new Cat();
cat2.age=100;
cat2.name="小花";
cat2.color="花色";
}
}
class Cat{
//下面的就是类的成员变量/属性
int age;
String name;
String color;
}
类与对象的关系
面向对象的核心组成部分:类与对象。
类是对某一类事物的描述,是抽象的、概念上的定义;对象是实际存在的该类事物的每个个体,因而也称实例(instance)。
类就相当于是一个模板,依照此模板产生产品
利用class关键字来定义一个类
需要记住的一些关于static,private,final的细节:
有关键字static,private,final的方法不能被覆写。
其中static的方法是不能被覆写的,如果在子类中还有一个static的方法想覆写它,则不叫覆写,叫做重新定义。所以更具对象来调用相应的方法。
Private的方法不能被覆写,因为private的方法是父类自己的东西,不能被子类得到。在这里说明一下,覆写时要注意权限问题,权限只能放大不能缩小,不然会发生编译错误。
Final定义的方法不能被覆写,因为final关键字一般定义固定的东西,比如一个类如果是final定义的则不能被继承。
Static定义的静态变量,是分配了内存空间的,所以,static变量是全局变量,在它定义后的任何修改都将改变它的值。
Static定义的静态区域,优先于主方法。