掌握面向对象设计基本步骤
1、找出一组具有代表性的对象(Dog) 动物类:Dog
2、找出一组具有哪些公共的属性和行为 属性(昵称、品种、年龄) 行为(看门 叫 吃 跑 睡)
3、定义类
构造方法
定义:与类同名,没有返回值类型
什么调用:new 用来调用构造方法 (换句话实例化对象的时候调用构造方法)
构造方法允许重载!
构造方法重载有什么好处:创建对象的时候灵活性更好
构造方法的特点:
如果开发人员不提供构造方法,那么编译器会自动添加一个无参构造方法;
但是如果程序中已经提供了构造方法,那么编译器编译过程中就不会再提供构造方法了。
注意事项
-
如果你不提供构造方法,系统会给出无参数构造方法。
-
如果你提供了构造方法,系统将不再提供无参数构造方法。
-
构造方法是可以重载的,既可以定义参数,也可以不定义参数
封装的概述
概述
面向对象编程语言是对客观世界的模拟,客观世界里成员变量都是隐藏在对象内部的,外界无法直接操作和修改。封装可以被认为是一个保护屏障,防止该类的代码和数据被其他类随意访问。要访问该类的数据,必须通过指定的方式。适当的封装可以让代码更容易理解与维护,也加强了代码的安全性。
原则
将属性隐藏起来,若需要访问某个属性,提供公共方法对其访问
封装:private私有化成员属性,提供公开public的getter/setter
Getter:取值
Setter:赋值
在哪儿用:在构造方法中初始化属性值的用!!!!!或者对象名.set/get()进行使用!!!
this关键字
this的含义this代表所在类的当前对象的引用(地址值),即对象自己的引用。记住 :方法被哪个对象调用,方法中的this就代表那个对象。即谁在调用,this就代表谁。
this使用格式
this.成员变量名;
使用 this 修饰方法中的变量,解决成员变量被隐藏的问题
static关键字的应用
作用:实现一个类的所有对象共享数据
可以修饰代码块、方法、变量、常量
静态代码块:类加载时执行,只会执行一次
静态方法的调用:同一个类中,静态方法只能调用静态方法和静态变量,不同类中,使用类名.方法名()
静态变量的调用:同一个中,静态方法直接使用静态变量,不同类中,类名.静态变量名