JavaSE第二阶段之面向对象编程
这里写目录标题
- 面向对象编程
- 一:类
- 1.概念:
- 2.组成:
- 3.类的设计思想:
- 二:对象
- 1.概念:
- 2.作用:
- 3.语法:
- 4.操作
- 5.运算符:
- 6.操作类型
- 运用面向过程和面向对象两种方式实现计算长方形的面积:
面向对象编程
面向过程和面向对象的区别?
面向过程:注重程序执行的流程
面向对象:先将一组具有公共特征的个体的特征和行为抽取出来,声明为类型(类),再利用类创建对象,并实现对象和对象之间的操作
为什么要涉及类的概念?
类:类型,将具有共同特征的个体的特征和行为抽象出来,形成一个公共的模板
面向对象关注谁?
对象怎么来的?
类是怎么来的?谁来创建?
一:类
1.概念:
类型(一类事物), 用关键字class 声明
2.组成:
特征(变量 , 字段/属性) 有…
行为(函数 , 方法 ) 能…
例如: 设计一个叫做User的类
public class User {//特征String uid ;String nickName;String pwd;int age;char sex;//行为// 注册方法void register(){}//登录方法void login(){}}
我们再设计一个叫Game的类:
public class Game {//类型String type;// 价格double price;// 公司String company;//平台String plat;//名称String name;// 玩的方法void play(){System.out.println(\"玩游戏\");}}
3.类的设计思想:
从使用的角度出发,找到要设计的目标(此时是个体状态) , 从个体角度出发,将它们(一类事物)的共同的特征和行为抽象出来,定义在类中 ,作为所有该类事物个体共同的模板
注意:
类中的内容没有顺序
类名的要求:词能达意
二:对象
1.概念:
是类的一个具体的个体(类变量)
2.作用:
实现类中抽象的行为和方法的执行调用者
3.语法:
类 对象名 = new 类();
类: 用class声明的自定义的类型
对象名: 符合命名规范
new : 关键字, 表示要创建一个新的对象
类() : 构造方法
4.操作
对象的目的就是为了从一个类的模板中创建出来,去执行具体的操作
5.运算符:
调用运算符, 表示由对象调用一个类中的属性/方法
// User可以看做是一种自定义的数据类型//user就是User类型的一个对象User user1 = new User();// user调用User类中声明的字段和方法user1.id = "1001"; // 赋值user1.name = "张三丰";user1.age = 20;System.out.println("user1的id:"+user1.id); // 访问System.out.println("user1的name:"+user1.name); System.out.println("user1的age:"+user1.age); // 方法user1.reg("13512345678");user1.login("13512345678", "123456");System.out.println("----------------");// 通过User再创建一个对象// 体现类作为模板的作用User user2 = new User();user2.id = "1002";user2.name = "李四喜";user2.age = 21;System.out.println("user2的id:"+user2.id); // 访问System.out.println("user2的name:"+user2.name); System.out.println("user2的age:"+user2.age); user2.reg("13612345678");user2.login("13612345678","123456");
6.操作类型
对象.类中的属性; 属性的访问
对象.类中的属性 = 对应类型的值;
对象.类中的方法;
public class GameDemo {public static void main(String[] args) {// 创建Game对象gameGame game = new Game();// 用对象给属性赋值game.company = "腾讯";game.type = "moba";game.plat = "mobile"; // 移动端game.price = 1;game.name = "王者荣耀";// 用对象访问属性System.out.println(game.name);System.out.println(game.company);System.out.println(game.type);System.out.println(game.plat);System.out.println(game.price);// 用对象访问方法game.play();// 利用Game创建第二个对象Game game2 = new Game();game2.company = "网易";game2.type = "rpg";game2.plat = "mobile"; // 移动端game2.price = 1;game2.name = "阴阳师";System.out.println(\"------这是分割线-------");// 用对象访问属性System.out.println(game2.name);System.out.println(game2.company);System.out.println(game2.type);System.out.println(game2.plat);System.out.println(game2.price);game2.play();//System.out.println(game.name);}
}
运用面向过程和面向对象两种方式实现计算长方形的面积:
/*** 声明一个长方形类型* @author bilei* @date 2021年7月28日*/
public class Rectangle {// 字段(特征) 有...// 长double length ;// 宽double width;//方法(行为) 能...// 参数中的长宽值可以通过字段代替double area() {return length*width;}}
public class Demo2 {public static void main(String[] args) {// 计算长方形的面积// 使用面向过程的思考方法// 1. 输入长和宽/** Scanner scanner = new Scanner(System.in); System.out.println("请输入长:"); double* length = scanner.nextDouble(); System.out.println("请输入宽:"); double width =* scanner.nextDouble();* * * * // 2. 计算并输出 double area = length*width; System.out.println("长方形的面积:"+area);*/System.out.println("----------------");//运用面向对象的方式Scanner scanner = new Scanner(System.in); Rectangle rectangle1 = new Rectangle();System.out.println("输入第1个长方形长:");rectangle1.length = scanner.nextDouble();System.out.println("输入第1个长方形宽:");rectangle1.width = scanner.nextDouble();// 计算并输出double areaValue = rectangle1.area();System.out.println("长方形1的面积:"+areaValue);Rectangle rectangle2 = new Rectangle();System.out.println("输入第2个长方形长:");rectangle2.length = scanner.nextDouble();System.out.println("输入第2个长方形宽:");rectangle2.width = scanner.nextDouble();// 计算并输出double areaValue2 = rectangle2.area();System.out.println("长方形2的面积:"+areaValue2);System.out.println("长方形1的面积:"+rectangle1.area());//com.gxa.day8.Rectangle@7ca48474: 内存首地址, 用于表示对象的内存情况System.out.println(rectangle1);System.out.println(rectangle2);}}
JavaSE第二阶段之面向对象编程相关推荐
- CoreJava学习第五课 --- 进入第二阶段:面向对象编程思想
面向对象编程思想 1.面向过程 从计算机执行角度出发 ,代码执行过程核心为从程序的运行过程出发,构建编程思路,例: 哥德巴赫猜想 // 面向过程1 用户输入一个数n2 验证数字的正确性2.1 正确 ...
- JavaSE面向对象编程
面向对象 Java 使用面向对象编程(Object-Oriented Programming,OOP),这是一种编程风格,它旨在使思考编程更接近思考现实世界. java 中的对象 在面向对象中,每个对 ...
- JavaSE:第5章 面向对象编程(中)
文章目录 JavaSE:第5章 面向对象编程(中) 5.1 OOP特征二:继承性 5.2 方法的重写(override) 5.3 四种访问权限修饰符 5.4 关键字:super 5.5 子类对象实例化 ...
- 面向对象编程03:封装、继承、多态
面向对象编程03:封装.继承.多态 文章目录 面向对象编程03:封装.继承.多态 封装 继承 object类 super super注意点: `super` VS `this`: 方法重写 多态 多态 ...
- java面向对象编程基础
java面向对象编程基础 前言:什么是java 是咖啡飘香的清晨 - 是斯坦福校园意浓情深 - 是James的思想睿智 是剁手党双十一挥舞的利刃 是大数据云计算驰骋的平台 - 是ATM上吐出的钞票 - ...
- 大数据第二阶段Python基础编程学习笔记(待完善)
大数据第二阶段Python基础编程学习笔记(待完善) 第一章 Python基础语法 3.8 1-1Python概述 python基础部分: ●Python基础语法: 标识符,关键字,变量,判断循环.. ...
- 《Java面向对象编程(阿里云大学)》笔记(文档+思维导图)
课程链接:https://edu.aliyun.com/course/1011 (还是建议去看课程,笔记仅供参考. 由于文中的所有内容均为手敲,并且有些代码并未验证,因此如有错误,烦请指出~ 谢谢~~ ...
- 5.Java面向对象编程
文章目录 05 Java面向对象编程 1. 面向过程与面向对象比较 2. 类和对象 2.1 对象的属性和方法 2.2 类的属性和方法 2.3 定义一个类 2.4 创建和使用对象 2.5 对象和类的总结 ...
- Java_第08章_面向对象编程(高级)
第08章_面向对象编程(高级) 本章专题与脉络 1. 关键字:static 回顾类中的实例变量(即非static的成员变量) class Circle{private double radius;pu ...
最新文章
- 前前前世用计算机,前前前世
- 全球农业资源利用与粮食安全研讨会 国际农民丰收节贸易会
- Vmare 15 安装 macOS 15.5 的关键步骤
- Thrift使用指南
- WPF插件开发:使用FrameworkElementAdapters时VS报错的问题
- 2018牛客网暑期ACM多校训练营(第十场)A	Rikka with Lowbit (树状数组)
- 『设计模式』撩妹秘籍竟是使用设计模式的抽象工厂模式
- DEV C++如何不需要通过建项目可以调试程序
- 使用Python和Perl绘制北京跑步地图
- alisql mysql_alisql|alisql数据库下载 v5.6 官方版_小皮网
- 英语数字听力训练精灵
- dtcms php,GitHub - k-dou/dtcms: 基于thinkphp5.1 的CMS,可快速搭建博客、企业站。
- layabox 学习笔记
- 笔记暂记15:陪集,商集
- 使用css给div添加四角边框的方法
- Spring_Ioc基本配置使用(基于xml)
- 王道学习笔记,计算机网络
- 如何对台式计算机 笔记本进行日常维护,笔记本电脑日常怎么保养?这些方法别错过了...
- 惠州学院计算机学院2019,2019惠州学院专业排名
- Java Executor源码解析(3)—ThreadPoolExecutor线程池execute核心方法源码【一万字】
热门文章
- 强大的实用的mac软件卸载应用软件,彻底清除App残留
- Python串口通信发送浮点型数据
- python应用题应用背景及实际意义_课题研究的现实背景及意义
- 不允许对系统目录进行即席更新_不被允许再更新安卓系统,华为手机用户怎么办?华为回应!...
- 【金三银四】一个问题就知道你会不会CSS了
- pfv和php,【Retina China 2019】工欲善其事必先利其器——影像学在眼底病中的应用与发展...
- 无线蓝牙通信的c语言,蓝牙与C和winsock
- GPU编程 CUDA C++ 数组归约的示例和解释
- 【Python实战】数据预处理(数据清理、集成、变换、归约)
- 分享一个微信小程序编辑页面的WXML模板