JAVA初学 面向对象
来源:互联网 发布:有没有5g网络 编辑:程序博客网 时间:2024/05/29 08:19
一、面向对象:寻找对象 使用对象 去解决问题 重点在对象上
1、将复杂的事情简单化
2、从事物的执行者转变为指挥者
3、面向对象更像是接近于人思考问题的思想(懒人思想)
举例 小李需要购买一台电脑,但是他自己不会组装,他可以去找一个懂的人帮他组装(并不需要他自己懂),这个执行者会帮他组装这台电脑,帮他解决了这个问题,而小李则变成了指挥者。
二、类 和 对象
举例 public class Student { String name; //姓名 int age; //年龄 String classNo; //班级 String hobby; //爱好 //输出信息方法 public void show(){ System.out.println(name + "\n年龄:" + age + "\n就读于:" + classNo + "\n爱好:" + hobby); }} public class InitialStudent { public static void main(String args[]){ Student student = new Student(); //建立对象 student.name = "张浩"; //给对象赋值 student.age = 10; student.classNo = "S1班"; student.hobby = "篮球"; student.show(); //调用方法} }
三、面对对象的特征
1、封装
class Phone{ private String name; //private String color; // 通过方法来 修改name 属性 // 获取值 get... 方法名字 // 修改值 set... 方法名字 // this 关键字 // this 代表本类的对象 // this.name 获取就是 成员变量的name public void setName(String name) { //修改属性的值 this.name = name;// } //获取name public String getName() { return this.name; } public static void main(String[] args) { Phone phone = new Phone(); phone.setName("oppo"); //phone.color = "黑色"; phone.sayHi(); System.out.println(phone.getName()); phone.fun(); Phone phone2 = new Phone(); phone2.setName("华为"); System.out.println(phone2.getName()); Phone phone3 = new Phone(); phone3.setName("小米"); System.out.println(phone3.getName());}
2、继承
是使用已存在的类的定义作为基础建立新类,新的类可以拥有父类的特点,也可以衍生出更多的特点。这使得复用以前的代码非常容易,能够大大缩短开发时间。
3、多态
程序中定义的引用变量所指向的具体类型和通过该引用变量发出的方法调用在编程时并不确定,而是在程序运行期间才确定,即一个引用变量倒底会指向哪个类的实例对象,该引用变量发出的方法调用到底是哪个类中实现的方法,必须在由程序运行期间才能决定。因为在程序运行时才确定具体的类,这样,不用修改源程序代码,就可以让引用变量绑定到各种不同的类实现上,从而导致该引用调用的具体方法随之改变,即不修改程序代码就可以改变程序运行时所绑定的具体代码,让程序可以选择多个运行状态,这就是多态性。多态性增强了软件的灵活性和扩展性。小李喜欢听小鸟唱歌{麻雀,杜鹃,鹦鹉}
阅读全文
1 0
- JAVA初学 面向对象
- Java 面向对象初学第一章
- 初学Java---面向对象基础1
- java初学(三) 面向对象设计思想
- 初学Java面向对象学习笔记
- 初学java,什么叫面向对象编程
- 初学java--面向对象的概念
- 关于初学面向对象
- 初学面向对象
- JAVA中的面向对象初学(持续总结更新...)
- java笔记——初学面向对象06
- java 关于初学面向对象的问题四:抽象类
- 初学JAVA面向对象最应该看的小程序
- 初学java--面向对象的概念和类的认识
- 初学javascript面向对象(一)
- php初学之面向对象
- c++初学之面向对象
- 初学js之面向对象
- 【转】Python与ArcGIS Engine的集成
- 1001. 害死人不偿命的(3n+1)猜想 (15)
- BZOJ3668(Noi2014)[起床困难综合症]--贪心。
- Myeclipse中Action基本配置 There is no Action mapped for namespace [/] and action name [stu] associated 问题
- 操作系统基础
- JAVA初学 面向对象
- C/C++ 64位程序 变量和指针所占内存大小
- 走穿23java种设计模式--12享元模式详解
- sed简单教程
- 点击更换头像
- java后台提供ios微信支付接口
- mysql使用经验
- 01-idea下载及安装
- android 开发板修改开机默认桌面