菜鸟学习之路(3)面向对象程序设计,封装,继承,多态

菜鸟学习之路(3)面向对象程序设计,封装,继承,多态

ID:38643357

大小:205.50 KB

页数:9页

时间:2019-06-16

菜鸟学习之路(3)面向对象程序设计,封装,继承,多态_第1页
菜鸟学习之路(3)面向对象程序设计,封装,继承,多态_第2页
菜鸟学习之路(3)面向对象程序设计,封装,继承,多态_第3页
菜鸟学习之路(3)面向对象程序设计,封装,继承,多态_第4页
菜鸟学习之路(3)面向对象程序设计,封装,继承,多态_第5页
资源描述:

《菜鸟学习之路(3)面向对象程序设计,封装,继承,多态》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、Java语言不同于c语言,Java是面向对象的,而c语言是面向过程的,就因为面向对象语言所特有的——封装(Encapsulation)、继承(Inheritence)和多态(Polymorphism)一.封装:1.什么是封装?将属性和方法放在一个类中就构成了封装。如何定义类:注意:一个java源文件中,可以有多个类,但是只能有一public类,也可以多个类都不是public类。修饰符class类的名字{//类的属性修饰符类型变量名;//类的方法修饰符返回类型方法名称(参数1,参数2...){//方法体}}注意:方法的定义不能嵌套,也就是在一个方法里不能再加入另一个方法。方法只能

2、定义在类中。方法的返回值类型必须与return后的变量类型一样。使用void的return可以不使用,也可以使用,但是使用时return后不能有任何值或变量。方法的参数,不论是原生数据类型还是引用数据类型都是统一的传值。2.对属性的封装:把属性进行私有化,提供方法进行属性的控制。具体实现步骤:(1).对属性的可见性进行进行访问的限制(修饰符)。(2).为每个属性创建set和get方法,用于对属性的访问。修饰符:(1).public公共的,最高访问级别,类的public成员所有类的成员都可以访问。(2).protected受保护的,类的protected成员只能被该类的成员以及其

3、子类的成员,还可以被同一个包中他类的成员访问(3).private私有的,不对外公开的,类的private成员只能被该类的成员访问,访问的级别最低。(4).包类型(就是什么都不写)类的成员什么修饰符都没有,只有类本身的成员和当前包下类的成员可以访问。访问修饰符本类同包其他类不同包子类不同包非子类public可以可以可以可以protected可以可以可以不可以private可以可以不可以不可以包类型可以不可以不可以不可以set和get方法例:privateintage;publicvoidsetAge(inta){age=a;}publicintgetAge(){returnag

4、e;}3.如何生成对象:使用new关键字,还需要构造方法。构造方法的定义:(a).构造方法名必须与类名完全相同。(b).构造方法没有返回值,也不能是void类型。(c).如果一个类中没有构造方法,那么java编译器会自动为类添加一个无参数无方法体的构造方法(默认构造方法)。(d).如果在定义一个类时,为该类声明了构造方法,则java编译器不会再为该类添加构造方法。(e).不能显式的调用构造方法,只能通过new关键字隐式的调用。意思也就是不想其他方法一样直接调用new关键字在生成对象时完成的事情:(a).为对象开辟内存空间。(b).调用类的构造方法。(c).将生成的对象的地址返回

5、,赋给引用类型变量。格式:类名变量名=new类名();例:publicclassStudent{publicstaticvoidmain(String[]args){Studentstudent=newStudent();Studentstudent1=newStudent();}publicvoidname(){System.out.println("我叫王五");}}4.方法的调用需要通过对象来调用。调用方式:对象变量.方法名(参数);例:student.name();5.方法的重载(Overload):表示多个方法名相同,但方法的参数个数和参数类型不同。注意:方法的返回值

6、类型对方法重载没有影响。例子:publicintadd(inta){returna;}publicdoubleadd(inta){returna;}这两个方法构不成重载。构造方法的重载:只需要看参数的不同就可以。publicclassStudent{privateintage;privateStringname;publicStudent(intage){this.age=age;}publicStudent(intage,Stringname){this(age);//this()可以再这个构造方法中调用另一个构造方法。必须放在开头。this.name=name;}}this

7、是指当前对象,而且this关键字必须放在非静态(也就是static)方法里面,有三种用法:1.使用this关键字引用成员变量2.使用this关键字在自身构造方法内部引用其它构造方法3.使用this关键字代表自身类的对象使用this关键字引用成员方法4.使用this关键字引用成员方法二.继承:java是单继承机制,不像c++多继承。也就是一个类只能有一个父类(也叫基类),需要使用extends关键字。从本个例子可以看出:当生成子类的对象时,java虚拟机会先调用父类的不带参数的构造方法,生成父

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。