JAVA——继承接口

引言


面向对象编程三大特性:继承、封装、多态(继承和多态存在关系)

定义对象格式:类名对象名 = new 类名();

普通方法格式:public返回类型 方法名(){}(若无返回类型,默认void



1、构造器


理解:制作(构造)函数以实现功能,并使功能能更简单的被使用。

格式:public类名(){}

注意:

1)若无函数的构造,那么一般默认为public函数名(){}

2)在对象创建的时候,会调用函数对象对应类的函数,及此类的父类函数。每次创建对象都会调用构造方法的,即使你没有创建构造方法,系统也会默认一个无参的构造方法的。我理解成:对象需要买房子,然后类就给对象介绍房子,对象看中了某所房子(返回值)就买下来安居了。既然有返回值,那么函数必定运行了一次。




3)说到返回值,和c语言的指针类似,java对象被赋的是地址,形象点说,对象可以使用房子了,而不是对象成了房子。

计算机数据储存机制:硬盘,内存。而地址是储存在内存中的,被运行程序使用的。




4)对象间的赋值,可以看成c语言两个指针间的赋值,但对象的类要相同。






2、方法重载


理解:同一个类里面,可以有同名的函数(方法),但是他们含的参数的类型、顺序、个数不同,互为重载方法。

注意:不能通过返回值进行判断是否重载。


public f(){}//第一个函数
public int f(){return 1;}//第二个函数

f();//调用函数,无法分清该调用谁

作用:赋予某一大类(一般以构造函数名称区分)的某一对象 特有属性、特有行为方式。



public student(){}//可视之为幼儿园
public student(string a){
system.out.println("i start learning English");
}//可视之为小学生
public student(string a,sting b){
system.out.println("i can read English essay");
}//可视之为中学生

//变量的实际意义不太重要,主要是区分。

注意:

1)一个对象对应一个函数2)如果构造函数(方法)被重载,那么默认的函数(方法)就不存在了。如果要用默认的,那么要打出来,如上述幼儿园



3、继承


理解:作用在类与类之间。根据字面意义理解即可,儿子会拥有父亲留下的所有财产(抛开实际法律不谈),财产即属性和方法。

格式:public class子类名 extends 父类名{}

作用:当子类需要用到的某些属性、某些方法,而父类刚好能够满足,子类通过继承用到父类属性和方法,这样子类就不用重新写相同属性和方法了(不用白手起家了)。

注意:儿子只能有一个父亲(不能狮子大开口,违反伦理和法律),即子类只能继承一个父类。但是可以通过链式的继承,在已经继承时用到另外类的属性功能,可以理解成孙子用到爷爷的财产。



4、方法重写


理解:需要前提条件——继承。儿子有了财产后,可以做富二代,也可以优化父亲财产,使之更能适应当时的要求,但不能够做违背本质的事情。即重写父类的方法,但不能够修改方法名、参数、返回类型。并且修改后的方法会覆盖修改前的。



5、自动转型


格式:父类类型对象名 = new 子类类型();        如:


Father a = new Son();

理解:转型后的对象是父类的对象。若子类对父类方法有重写,则使用重写方法;转型后对象不能使用子类特有、父类没有的方法。



6、多态


理解:一个现象。即同一个类型的对象,调用同一个方法时,执行的过程不一样。这是由于其中一个对象定义后经过了继承、方法重写、自动转型,而另一个对象只是简单定义。

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值