一、类与对象
我这里有一个人类的实体类,它里面的属性有:name;age;sex;它可以new出很多个人类并且赋予属性不同的值,比如我可以new一个人类,它的名字叫做张三,年龄18,性别男,也可以new一个叫做李四,19,女 的对象;
类与对象的关系就是同一个模板在同一个时间段的不同表现;
我可以对车这个类创建出无数个对象,他们可以是奔驰,可以是宝马,可以是兰博基尼等等;
二、继承
这是很容易和类与对象的概念搞混的东西,它是这么表述的:
同样我这里有一个人类的实体类,然后我不仅有人类,我还有男人类和女人类;人类有姓名年龄,男人类和女人类也应该有,他们同属于人类,这时就可以把他们共有的属性剥离出来放到人类实体类中,然后男人类和女人类去继承人类这个实体类;
它和类与对象的不同之处在于,它不需要new对象,它是类与类之间的关系,而不是类与对象之间的关系;
那么把上面两个概念综合起来,举个栗子:(回归一下旧社会,不要说我直男癌,因为实在没什么栗子举了)我男人类和女人类都继承人类的属性,同时我男人类里面还有work()这个方法,而女人类里面的是houseWork(),这两个方法是可以写在各自的类中的,这里就是继承的体现;我new一个男人类,我可以赋予他姓名、性别、年龄;他拥有work()这个方法;我再new另一个男人,给他不同于第一个男人的属性,这里就是类与对象的体现;
三、变量的区别
变量分为:局部变量、类变量、成员变量
局部变量就是我们在方法中定义的变量;它的特点是只会存在于方法中,出了作用域就没用了;
类变量就是我们定义在方法外,类中的变量,它还需要用static来修饰表示静态(创建时会创建在静态区一直存在,其他类可以使用)
成员变量也是我们定义在方法外,类中的变量,它和类变量的不同之处是它没有用static来修饰,这意味着它不可以在其他类使用;
四、构造方法
每一个类都必定会至少有一个构造方法,他如果没有显示则是java默认给你写的空的构造方法;
构造方法的作用:它可以初始化成员变量或者说改变成员变量的值,它是为成员变量服务的;
构造方法可以重载,对于调用此方法的不同参数而言,它可以拥有不同的表现形式以及作用,直接体现就在于,两个参数和三个参数传入时我可以改变我的成员变量为不同的值;
五、创建对象的步骤
1、声明变量类型以及变量名
2、实例化对象
3、初始化对象
这里第一步很好理解,比如Person person = null;
第二步就是用new关键字来实例化对象,说白了就是开辟一个空间放你刚创建的对象进去;
第三步其实是在new的时候java会帮你调用该类的构造方法初始化对象,给成员变量赋值;