面向对象——Java的封装、继承和多态

时间:2022-08-25 21:59:12

程序的发展历程:面向过程、面向对象
解释面向过程和面向对象(以制作一个盒子为例):
面向过程:不去想做什么样的盒子,随机取工具制作;
面向对象:先想好做一个什么样的盒子,再去找对应的工具去做。

面向对象的三大特征

1)封装性

  • 对外部不可见

2)继承

  • 扩展类的功能

3)多态性

  • 方法的重载
  • 对象的多态性

封装性

封装性的产生目的

保护某些属性和方法不被外部所看见

封装的实现

为属性和方法进行封装是通过关键字private声明的。
实现该属性的set和get方法,为外部所访问。

匿名对象

匿名对象就是没有名字的对象,如果程序中只是用一次该对象,就可以使用匿名对象的方式。

构造方法

1、格式

访问修饰符  类名称(){
程序语句
}

2、注意:
(1)构造方法名称必须与类名一致
(2)构造方法没有返回值
3、构造方法主要是为类中的属性初始化
4、每个类在实例化之后都会调用构造方法,如果没有构造方法,程序在编译的时候会创建一个无参的什么都不做的构造方法。
5、构造方法也可以重载

package practice.classdemo;
class People{
//构造方法
int age;
String name;
public People(int a,String n){
age = a;
name = n;
System.out.println("姓名:"+name +" "+"年龄:"+age);
//构造方法没有返回值,不能加return
}
//构造方法不需要进行调用
public People(int a){
age = a;
System.out.println("年龄:"+age);
}
}
public class ClassDemo04 {
public static void main(String[] args) {
People per = new People(30,"张三");//new People本身就可以当作一个构造方法
//根据传递的参数的个数来调用不同的方法
}
}