JAVA类和对象(封装、继承和多态)

JAVA类和对象

类和对象

##类和对象简介

###对象:对象是事物存在的实体,通常又会将对象划分为两个部分,对象的属性和对象的行为

###类:具有一系列相同的属性和行为的物品

public class People{
  private String name;//实例变量
  private int age;
  public People(){
  }
}

Peoplo people = new People();

如上所示,我们建立了People这个类,并且使用People构造方法构造了people这个对象,它具有这个类的属性以及方法,如name、age、People()。

###this关键字的使用
1.如果局部变量和成员变量命名产生冲突需要显示指明当前对象,如this.name=name。
2.构造函数重载
2.1)构造函数之间不能用this()相互调用
2.2)this()调用构造函数,不能在成员函数中调用。
2.3)当前构造函数不能通过this调用多个构造函数
*this()调用必须位于当前构造函数有效代码的第一行

###static关键字
1.修饰成员变量—>静态成员变量
2.修饰方法—>静态成员方法
3.修饰类—>静态内部类

实例变量和静态变量的区别
1)存储位置不同 实例变量:Java堆 静态变量:方法区
2)使用:实例变量跟对象个数一一对应,一个对象new一份实例变量。
静态变量:只跟类有关,一个类只有一份静态变量。
3)初始化顺序不同:类的初始化顺序为静态变量、静态块、实例变量、实例块、构造函数

静态方法与实例方法不同:有无this方法。

##类之间的关系
组合关系:即“has a”,以为着一个类包含着另一个类的对象。
继承关系:即“is a”,子类继承(extends)父类的行为和特性。

#封装
封装就是又叫做隐藏实现,就是只公开代码单元的对外接口,隐藏具体实现的过程。在java中,封装是通过访问控制符来实现的,访问控制符有public,private,protected,通过public将信息暴露,private,protected将信息隐藏来实现封装。
封装的好处:
1,封装使代码的修改变得更加容易和安全,将代码分成了一个个相对独立的单元。
2,封装让整个代码的开发复杂度大大降低
3,封装还避免了命名冲突的问题

#继承
继承就是子类继承父类的行为和特性,主要是靠关键字extends来实现,这里需要注意以下几点:
1,private修饰的属性和方法不会被父类继承
2,子类不继承父类的构造方法和构造函数,他只是调用,如果父类构造方法有参数,子类需要用关键字super来调用父类的带参构造函数,如果父类的构造方法没有参数,子类就不需要使用super关键字。
3,被final修饰的类为最终类不能被继承,被final修饰的方法可以被继承,但是不能被子类重写。
4.java只支持单继承(菱形继承)。

#多态
多态即对同一消息做出不同的反应。
1)编译期多态(静态绑定)
函数重载:条件:同一类中,方法名相同,参数列表相同。
2)运行期多态(动态绑定)
①继承②方法重写③向上造型(基类的引用,引用派生类对象)

猜你喜欢

转载自blog.csdn.net/m0_49449205/article/details/109724646