这里写目录标题

  • 面向对象编程
  • 一:类
    • 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第二阶段之面向对象编程相关推荐

  1. CoreJava学习第五课 --- 进入第二阶段:面向对象编程思想

    面向对象编程思想 1.面向过程 ​ 从计算机执行角度出发 ,代码执行过程核心为从程序的运行过程出发,构建编程思路,例: 哥德巴赫猜想 // 面向过程1 用户输入一个数n2 验证数字的正确性2.1 正确 ...

  2. JavaSE面向对象编程

    面向对象 Java 使用面向对象编程(Object-Oriented Programming,OOP),这是一种编程风格,它旨在使思考编程更接近思考现实世界. java 中的对象 在面向对象中,每个对 ...

  3. JavaSE:第5章 面向对象编程(中)

    文章目录 JavaSE:第5章 面向对象编程(中) 5.1 OOP特征二:继承性 5.2 方法的重写(override) 5.3 四种访问权限修饰符 5.4 关键字:super 5.5 子类对象实例化 ...

  4. 面向对象编程03:封装、继承、多态

    面向对象编程03:封装.继承.多态 文章目录 面向对象编程03:封装.继承.多态 封装 继承 object类 super super注意点: `super` VS `this`: 方法重写 多态 多态 ...

  5. java面向对象编程基础

    java面向对象编程基础 前言:什么是java 是咖啡飘香的清晨 - 是斯坦福校园意浓情深 - 是James的思想睿智 是剁手党双十一挥舞的利刃 是大数据云计算驰骋的平台 - 是ATM上吐出的钞票 - ...

  6. 大数据第二阶段Python基础编程学习笔记(待完善)

    大数据第二阶段Python基础编程学习笔记(待完善) 第一章 Python基础语法 3.8 1-1Python概述 python基础部分: ●Python基础语法: 标识符,关键字,变量,判断循环.. ...

  7. 《Java面向对象编程(阿里云大学)》笔记(文档+思维导图)

    课程链接:https://edu.aliyun.com/course/1011 (还是建议去看课程,笔记仅供参考. 由于文中的所有内容均为手敲,并且有些代码并未验证,因此如有错误,烦请指出~ 谢谢~~ ...

  8. 5.Java面向对象编程

    文章目录 05 Java面向对象编程 1. 面向过程与面向对象比较 2. 类和对象 2.1 对象的属性和方法 2.2 类的属性和方法 2.3 定义一个类 2.4 创建和使用对象 2.5 对象和类的总结 ...

  9. Java_第08章_面向对象编程(高级)

    第08章_面向对象编程(高级) 本章专题与脉络 1. 关键字:static 回顾类中的实例变量(即非static的成员变量) class Circle{private double radius;pu ...

最新文章

  1. 前前前世用计算机,前前前世
  2. 全球农业资源利用与粮食安全研讨会 国际农民丰收节贸易会
  3. Vmare 15 安装 macOS 15.5 的关键步骤
  4. Thrift使用指南
  5. WPF插件开发:使用FrameworkElementAdapters时VS报错的问题
  6. 2018牛客网暑期ACM多校训练营(第十场)A Rikka with Lowbit (树状数组)
  7. 『设计模式』撩妹秘籍竟是使用设计模式的抽象工厂模式
  8. DEV C++如何不需要通过建项目可以调试程序
  9. 使用Python和Perl绘制北京跑步地图
  10. alisql mysql_alisql|alisql数据库下载 v5.6 官方版_小皮网
  11. 英语数字听力训练精灵
  12. dtcms php,GitHub - k-dou/dtcms: 基于thinkphp5.1 的CMS,可快速搭建博客、企业站。
  13. layabox 学习笔记
  14. 笔记暂记15:陪集,商集
  15. 使用css给div添加四角边框的方法
  16. Spring_Ioc基本配置使用(基于xml)
  17. 王道学习笔记,计算机网络
  18. 如何对台式计算机 笔记本进行日常维护,笔记本电脑日常怎么保养?这些方法别错过了...
  19. 惠州学院计算机学院2019,2019惠州学院专业排名
  20. Java Executor源码解析(3)—ThreadPoolExecutor线程池execute核心方法源码【一万字】

热门文章

  1. 强大的实用的mac软件卸载应用软件,彻底清除App残留
  2. Python串口通信发送浮点型数据
  3. python应用题应用背景及实际意义_课题研究的现实背景及意义
  4. 不允许对系统目录进行即席更新_不被允许再更新安卓系统,华为手机用户怎么办?华为回应!...
  5. 【金三银四】一个问题就知道你会不会CSS了
  6. pfv和php,【Retina China 2019】工欲善其事必先利其器——影像学在眼底病中的应用与发展...
  7. 无线蓝牙通信的c语言,蓝牙与C和winsock
  8. GPU编程 CUDA C++ 数组归约的示例和解释
  9. 【Python实战】数据预处理(数据清理、集成、变换、归约)
  10. 分享一个微信小程序编辑页面的WXML模板