Java基础--面向对象编程1(类与对象)
1.类(class)的定义
类是对一组具有相同特征和行为的对象的抽象描述。
在程序中,引入类的概念,就是为了快速生成更多的具有相同特性和行为的事物。

2.对象(object)的定义
对象是类的具体实现,表示一个独立的、唯一的个体,具有属性和方法。
3.属性和方法
属性:在程序中类或者对象具有的特征,具体对象的属性拥有的数据称为属性值。
方法:类或者对象的行为。
4.定义类和对象
创建1个Student的类,类的属性有学号(sid)、姓名(name)、年龄(age)、性别(gender),类中声明了一个learn()方法。
 public class Student{
     // 声明类的属性
     String sid;
     String name;
     int age;
     char gender;
     // 声明方法
     public void learn(String cName){
         System.out.println(name+" learn "+cName);
     }
 }
下面代码中新建了一个stu对象,通过.语法给对象的属性赋值和方法调用。
 public class Test01{
     public static void main(String[] args){
         // stu是Student的一个对象,也是Student的一个实例
         // new 操作就是实例化过程
         Student stu = new Student();
         // 给属性赋值(.语法)
         stu.name = "张三";
         stu.sid = "001";
         // 调用方法
         stu.learn("java");
         Student stu2 = new Student();
         stu2.name = "李四";
         stu2.sid = "001";
         stu2.learn("c++");
     }
 }
5.属性的声明
声明方式:[修饰符] 属性类型 属性名称 [=默认值]
在定义成员变量时可以对其初始化,如果不对其初始化,Java使用默认的值对其初始化。(数值:0,0.0 char:\u0000, boolean:false, 所有引用类型:null) 。
属性的作用域范围是整个类体。
6.面向对象编程思维
OOP(Object Oriented Progarmming),即面向对象编程是Java程序员必须具备的编程思想。Java程序通过类来构造对象,并通过各个对象之间相互配合完成一个复杂的需求。
以下是运用面向对象的编程思想来实现手机播放一首歌曲的需求。
a.创建1个Music的类,定义类的属性有name、singer、times、content,方法有showInfo()。
 public class Music{
     String name;
     String singer;
     int times;
     String content;
     public void showInfo(){
         int hour=times/3600;
         int minute=times%3600/60;
         int second=times%60;
         System.out.println("正在播放:"+name);
         System.out.println("歌手:"+singer);
         System.out.println("时长:"+hour+"--"+minute+"--"+second);
         System.out.println("歌词:"+content);
     }
 }
b.创建1个Phone的类,类的属性有brand、type,类的方法有play(Music music),并在play()方法中调用Music类中的方法music.showInfo()。
 public class Phone{
     String brand;
     String type;
     public void play(Music music){
         System.out.println("正在使用"+brand+type+"播放歌曲");
         music.showInfo();
     }
 }
c.创建1个phone对象和1个music对象,给2个对象的属性赋值,并通过调用phone.play(music)方法最终实现了手机播放一首歌曲的需求。
 public class Test03{
     public static void main(String[] args){
         Phone phone =new Phone();
         phone.brand="华为";
         phone.type="P20";
         Music music =new Music();
         music.name="我很快乐";
         music.singer="刘惜君";
         music.times=213;
         music.content="我也不会难过\n你不要小看我\n有什么熬不过\n大不了唱首歌\n虽然是悲伤的歌\n声音有点颤抖\n也比你好的多\n我还是很快乐";
         phone.play(music);
     }
 }
d.程序运行结果:

Java基础--面向对象编程1(类与对象)的更多相关文章
- java面向对象编程(类、对象)
		一.面向对象编程概述面向对象编程(Object Oriented Programming,缩写为OOP)是当今最流行的程序设计技术,它具有代码易于维护.可扩展性好和代码可常用等优点.面向对象的设计 ... 
- java面向对象编程(一)-类与对象
		1.问题的提出 张老太养了两只猫猫:一只名字叫小白,今年3岁,白色.还有一只叫小花,今年100岁,花色.请编写一个程序,当用户输入小猫的名字时,就显示该猫的名字,年龄,颜色.如果用户输入的小 ... 
- day24:面向对象设计与面向对象编程、类和对象
		一.三大编程范式: 面向过程: 面向函数: 面向对象: 二.程序的进化论: 1.编程最开始就是无组织无结构,从简单控制流中按步写指令 2.从上述的指令中提取重复的代码块或逻辑,组织到一起(比方说,你定 ... 
- 1.面向过程编程 2.面向对象编程 3.类和对象 4.python 创建类和对象 如何使用对象 5.属性的查找顺序 6.初始化函数 7.绑定方法 与非绑定方法
		1.面向过程编程 面向过程:一种编程思想在编写代码时 要时刻想着过程这个两个字过程指的是什么? 解决问题的步骤 流程,即第一步干什么 第二步干什么,其目的是将一个复杂的问题,拆分为若干的小的问题,按照 ... 
- JAVA基础第三章-类与对象、抽象类、接口
		业内经常说的一句话是不要重复造轮子,但是有时候,只有自己造一个轮子了,才会深刻明白什么样的轮子适合山路,什么样的轮子适合平地! 我将会持续更新java基础知识,欢迎关注. 往期章节: JAVA基础第一 ... 
- ES6学习笔记(一):轻松搞懂面向对象编程、类和对象
		目录 面向过程编程P OP(Process oriented programming) 面向对象编程OOP(Object Oriented Programming) 总结 @ 面向过程编程P OP(P ... 
- Objective-C语言介绍 、 Objc与C语言 、 面向对象编程 、 类和对象 、 属性和方法 、 属性和实例变量
		1 第一个OC控制台程序 1.1 问题 Xcode是苹果公司向开发人员提供的集成开发环境(非开源),用于开发Mac OS X,iOS的应用程序.其运行于苹果公司的Mac操作系统下. 本案例要求使用集成 ... 
- 1.Java基础-面向对象编程思想(封装继承多态接口)
		封装: 1.定义:隐藏对象的属性和实现细节,仅对外公开接口,控制在程序中属性的读和修改的访问级别. 2.封装的目的是:增强安全性和简化编程,使用者不必了解具体的实现细节,而只是要通过外部接口,一特定的 ... 
- Java基础--面向对象编程3(继承)
		1.继承的作用 为了提取两个类中公共的代码,可以使用继承抽取重复性的代码到一个公共类中. 这个公共的类称为父类(super class),继承于父类的类称为子类(sub class). 2.java继 ... 
随机推荐
- Android为TV端助力转载:码农小阿飞(SpannableString)
			用SpannableString打造绚丽多彩的文本显示效果 引语 TeXtView大家应该都不陌生,文本展示控件嘛! 就用TextView显示普普通通的文本,OK,很简单,Android入门的都会,没 ... 
- C# 离线人脸识别 ArcSoft V2.0 Demo
			本来打算做个C#版demo,但没用成功.使用虹软最新人脸识别技术开发完成 过程如下: 1. 传入一张单人脸照片: 2.调用检测人脸函数ASFDetectFaces,成功返回人脸信息的指针: 3.使用 ... 
- 使用AndroidStudio编写APICloud模块需要注意的地方,解决模块未定义。
			在新的版本下,使用AndroidStudio编写APICloud模块,已经非常简单了,解决模块未定义,最重要的就是要先看官方的视频! 注意在模块的module.json中name很重要,建议做到三统一 ... 
- 路由刷rom手册
			最近对家里面那5,6个路由器下手了. 路由列表:小米mini 2台. 优酷路由宝l1,tp wdr3320,tp wr840n, 友华wr1200js,小米路由r1n 步骤: 1. 想办法开启ssh ... 
- dede后台编辑器更改
			1.下载百度开发的UEditor编辑器(对应版本): 2. 解压下载的zip文件: 3.将解压后得到的文件夹拷贝到您网站目录下的include文件夹下并改名为ueditor: 4.将inc文件夹里边的 ... 
- Docker 创建 Bamboo6.7.1 以及与 Crowd3.3.2 实现  SSO 单点登录
			目录 目录 1.介绍 1.1.什么是 Bamboo? 2.Bamboo 的官网在哪里? 3.如何下载安装? 4.对 Bamboo 进行配置 4.1.获取授权许可 4.2.一般配置 4.3.数据库配置 ... 
- Windows Cluster 在群集管理器下 集群或可用性组 都不显示的问题
			作为一个IT成员,特别是偏支持的.很多时候就是和各种异常打交道,总会碰到一些奇奇怪怪的问题.很多时候,可能是一个小小的异常都需要花费很长时间去解决. SQL Server AlwaysOn 是建立在W ... 
- robotFramework第二篇之关键字的定义和使用
			lesson.robot *** Keywords *** 打开谷歌浏览器并访问百度首页 Log 打开浏览器,输入http://www.baidu.com,进入百度首页 输入用户名 [Argument ... 
- idea中Springcloud同时运行多个模块、微服务
			idea中有个窗口叫做 Run DashBoard 在这里可以管理多个模块的启停,这个面板一般情况下是关闭的打开Run DashBoard面板 在工程的.idea中找到workspace.xml,并找 ... 
- python学习——读取染色体长度(三、用循环或者函数求总长并获取最长染色体长度)
			# 读取fasta # 解析每条序列的长度 chr_len = [10,20,30,40,50] # 求和 # 方法一:通过循环 total_len = 0 #定义total_len的初始长度 for ... 
