构造方法和对象的三个特征

构造方法

语法: 修饰符    类名(){  }

在执行的时候,无参构造方法会自动生成,但是如果类中有了有参构造方法,则不会自动生成。推荐在写类的时候将有参和无参构造方法都写;在我们执行的时候,new对象时,对象名后面括号[ Dog dog = new  Dog()  ] 里面可以有的参数类型必须符合类中已声明的有参构造方法

public Dog(){
        System.out.println("Dog无参构造方法....");
        this.name="二哈";
        
    }

public Dog(String n,int h,int love){
        System.out.println("有参构造方法....");
        this.name=n;
        this.health=h;
        this.love=love;
    }


    测试
Dog  dog = new Dog(); 
Dog  dog2= new Dog("二哈",89,100);

方法重载

在同一个类里面方法名相同,参数列表(方法参数的个数或参数类型)不同,称之为 方法重载  方法重载与方法返回值和方法修饰符没有任何关系

封装

封装是面向对象三大特征之一(另外两个是继承和多态),它指的是将对象的状态信息隐藏在对象内部,不允许外部程序直接访问对象的信息,而是通过该类所提供的方法来实现对内部的操作和访问。

步骤

1.将属性私有化 设为private

2.编写setter方法,针对用户输入的值进行判断

3.编写getter方法来获取值

注:

面向对象三个特征:封装、继承、多态。

继承:如果多个类的某个部分的功能相同,那么可以抽象出一个类出来,把他们的相同部分都放到父类里,让他们都继承这个类。

实现:如果多个类处理的目标是一样的,但是处理的方法方式不同,那么就定义一个接口,也就是一个标准,让他们的实现这个接口,各自实现自己具体的处理方法来处理那个目标

第一、联系
继承父类和实现接口都能实现代码重用,提高开发效率。提现了实物的传递性,继承关系达到复用的目的。

第二、区别
1、修饰不同

不同的修饰符修饰;实现:implements,继承:extends;

2、数量不同

Java只支持“接口”的多继承,不支持“类“”的多继承;而继承在java中具有单根性,子类只能继承一个父类。

总结为:单继承,多实现。

3、属性不同

在接口中只能定义全局常量(static final),和无实现的方法;而在继承中可以定义属性方法,变量,常量等...

4、调用不同

某个接口被类实现时,在类中一定要实现接口中的抽象方法;而继承想调用那个方法就调用那个方法,毫无压力

总结:

接口是:对功能的描述(方法/行为),接口传达的意思是:拥有某种功能,能干嘛,比如:Serializable代表可序列化的。     

继承是:什么是一种什么,继承传达的意思是:is-a,比如:猫 是一个 动物,猫就是动物的子类。

猜你喜欢

转载自www.cnblogs.com/meilishi/p/12895935.html