Java的类与对象、封装和多态

一、概念

对象是实体 需要被创建 对象可以帮我们做事情 类是规范 我们需要根据类的定义来创建对象 得先有这个类 才能根据这个类来创建相应的对象

二、定义类

★创建对象

例:

new Machine();

Machine machine= new Machine();

★让对象做事

例: 首先要:

void work()
{
          
   
	语句体
}

void work(int number)
{
          
   
	语句体
	count=count+number;
}

最后你就可以用(.点运算符)

machine.work();

machine.work(10(或其他任意int类型数字))

来调用了

三、外部类与内部类

类里还能套类(禁止套娃 例:

class Outer
{
          
   
    private int num=4;
    public void test()
    {
          
   
        //下面是在方法中定义的内部类
        class Inner
        {
          
   
            void show()
            {
          
   
                System.out.println("num="+num);//访问外部类的成员变量
            }
        }
        Inner in=new Inner();//创建内部类对象
        in.show();//调用内部类的方法
    }
}

public class Main
{
          
   
    public static void main(String[] args) {
          
   
        Outer outer=new Outer();//调用外部类对象
        outer.test();//调用外部类的test()方法
    }
}

四、封装

封装是Java面向对象的三大特征之一 在定义一个类的时候 将类中的属性私有化 即使用private关键字来修饰 私有属性只能在它所在类中被访问 为了能让外界访问私有属性 需要提供一些使用public修饰的公有方法 其中包括用于获取属性值的getXxx()方法和设置属性值的setXxx()方法 对象=属性+服务 数据:属性或状态 操作:函数

可以这么理解:将数据和对数据的操作放在一起封起来即为封装

五、多态

多态也是Java面向对象的三大特征之一 多态即为在同一个方法中 传入参数不同 执行效果各异

public static void animalShout(Animal an)//这里只要是Animal的子类(有shout方法) 都可以被接收
{
          
   
    an.shout();
}

多态不仅解决了方法同名的问题 而且还使程序变得更加灵活 从而有效地提高程序的可扩展性和可维护性

对象的类型转换

1、向上转型

向上转型:将子类对象的类型进行了提升 什么情况下使用向上转型:当你只想用父类定义的功能 隐藏子类类型 例:

Animal an1=new Cat();//将Cat对象当作Animal类型来使用
Animal an2=new Dog();//将Dog对象当作Animal类型来使用

2、向下转型

向下转型:使其可使用子类特有的方法 例:

Cat cat=(Cat)animal;

向下转型之前须有向上转型

instanceof关键字:用于判断一个对象是否为某个类或接口的实例或者子类实例 方法:对象或对象引用变量 instanceof 类或接口 例:

if (animal instanceof Cat)
{
          
   
    Cat cat=(Cat)animal;
    cat.sleep();
}

经验分享 程序员 微信小程序 职场和发展