【java】面向对象——封装性、继承性和多态性
来源:互联网 发布:淘宝网水晶家纺被子 编辑:程序博客网 时间:2024/06/05 15:49
用一个简单的例子来展示封装性、继承性和多态性:
class Person{ private String name; private int age; public void setName(String name){ this.name = name; } public void setAge(int age){ if(age>=0 && age <= 150){ this.age = age; }else{ System.out.println("The age can not be a person!"); } } public String getName(){ return name; } public int getAge(){ return age; }}class Student extends Person{ private String school; public void setAge(int age){ if(age>=6 && age <= 50){ this.setAge(age); }else{ System.out.println("The age can not be a student!"); } }}public class LearnExtend{ public static void main(String args[]){ Student student = new Student(); student.setName("zhangsan"); student.setAge(60); System.out.println(student.getName() + " " + student.getAge()); }}
如上代码所示,父类为Person,子类为Student。
在Person和Student中他的属性的类型都是pravite,都是私有成员。而要想访问(读和写)都必须使用类中定义的方法。当然这些方法都要是public,公共的。不然整个类都是私有的,那我就没办法调用里面的东西了。
私有的成员就算是子类也不能直接访问。就比如说一对父子,父亲私有的银行卡,他的儿子也是不能直接去用的。更别说我们这些外人了(main)。
继承性也比较好看,就是子类Student并没有定义name和age这两个成员,但Student的对象是拥有这两个属性的。可以说父亲有的,儿子都有。
至于多态性的应用就要看两个类中都有setAge()这个方法。子类可以覆写父类的方法,但要注意,子类的权限必须大于等于父类的权限。比如说父类是public的方法,子类也必须是public。
这里顺便说一下覆写和重载的区别。最大的区别就是,重载是名字相同,参数不同。而覆写,名字和参数都相同。
0 0
- 【java】面向对象——封装性、继承性和多态性
- 面向对象——封装、继承、多态性
- 演示java面向对象的核心特性(类的封装性,继承性和多态性)
- 面向对象的继承性和多态性
- 面向对象的特点,封装性,继承性,多态性!
- 面向对象程序设计具有4个共同特征:抽象性、封装性、继承性和多态性
- Java面向对象——封装性
- 面向对象方法的特性:(抽象,封装,继承,多态性)
- Java基础——面向对象(封装、继承、多态)
- java之面向对象——继承、封装、多态
- 黑马程序员——Java基础_面向对象之封装、继承和多态
- 黑马程序员——Java基础---深入理解面向对象(封装继承和多态)
- 黑马程序员java学习笔记——面向对象的特征封装、继承和多态
- 面向对象——Java的封装、继承和多态
- Java面向对象详谈——封装、继承和多态
- Java基础(7):面向对象三大特性—封装、继承和多态的详解
- 面向对象——封装、继承、多态
- java 简述类的封装性、继承性、多态性
- Arch linux (虚拟机)安装教程
- HDU 5898 odd-even number (2016亚洲区沈阳站网络赛 )
- Permutations I , II
- Asp图片大小处理及AspJpeg失效设置
- 通过反射获取泛型类的类型
- 【java】面向对象——封装性、继承性和多态性
- Android帧缓冲区(Frame Buffer)硬件抽象层(HAL)模块Gralloc的实现原理分析
- 8CollapsingToolbarLayout源码分析
- poj 1789
- Java IO字符流读取文件总结
- JSP笔记
- vim常用操作
- 2-1 众数问题
- B/S总结