JAVA面向对象(OOP)-类和对象
1.面向对象与面向过程
面向过程:
优点:
代码直观,相对容易看出代码走向,我们是根据功能去直接开发
自上而下
缺点:
代码的维护与扩展、再次利用比较困难
面向对象
优点:
代码相对易维护,相对易扩展、代码可复用率高
缺点:
代码的封装,与面向过程比较会稍微难看出一点走势
2.面向对象
面向对象两大核心点:
静——属性
动——方法
public class Dog { //颜色string color;//种类string kind;//宠物名称string dogName;//宠物性别string dogsex;//宠物年龄int dogAge;//疫苗接种情况boo1ean vaccineF1ag;/**这是吃东西的方法aparam food被吃的食物*/public void eat(string food){system.out.print1n("毛色为: "+color+"的"+dogName+"在吃"+food)}
}
3.类图
属性和方法的前面符号:
+public
-private
属性的:后面跟的是他的一个类型
方法的:后面跟的是他的一个返回值
4.关于类和对象
此时我们可以说Dog是一个类
他是属于所有狗的集合,是一个抽象的概念,抽象说明不存在,我们不会看到一个"狗”
但是我们会看到各种各样的“狗"的对象
比如:被常威打的来福
蜡笔小新的小狗——小白
等等,这些都是属于看得见的摸得着的,这种属于对象。
//第一个Dog是我们这个对象的类型
//相当于我们使用1aiFu这个名字声明了一个对象,这个对象是Dog类型的
// = new Dog();相当于我们给这个1aiFu进行了赋值
//我们通过new这个关键字,将Dog这个类进行了实例化。
//此时我们就有了一个Dog的对象叫1aiFu
Dog laiFu = new Dog();
//我们可以通过对象+.去获取这个对象的属性与方法
//比如,我们使用1aiFu这个对象去获取到这个对象的属性dogName
//并且给这个dogName赋值“来福”
laiFu.dogName ="来福";
//完成赋值后,我们可以直接使用这个属性
System.out.println(1aiFu.dogName);
1aiFu.color="黄色";
// 1aiFu是Dog类,Dog类有一个方法叫吃
//这个eat方法中也使用到了Dog的2个属性,分别是color和dogName
1aiFu.eat("骨头");Dog xiaoBai = new Dog();xiaoBai.color="黑色";
xiaoBai.dogName="小黑";
xiaoBai.eat("狗吃的罐头");//第一个Dog是相当于作为这个对象的申明数据类型,是这个类的名字
//第二个dog是对象的名字,相当于我们声明了一个叫做dog的对象
//第三个Dog是说明,我们这个dog对象是使用Dog这个类进行实例化的
Dog dog = new Dog();
//多态
//面向对象知识点一般是三大和性:封装 继承 多态
//这里讲的我们申明了一个叫做object的对象,这个object的类型是object
//object中文意思是"对象"
//在Java的世界中,所有的类(基本数据类型不属于类)
//都直接或间接继承了object
//所有的对象都是"对象"(object类)
Object object = new Dog();
5.关于类的属性和方法
类的属性一般直接写在类中,我们先写一个访问修饰符,再写一个他的数据类型,属性的名字。比如,我们有一个类叫做Dog类,他有一个属性叫做name是String类型,访问修饰符为共有的,所有都可以调用。
public class Dog{public String name;
}
方法:
//方法由
//修饰符[public/static/final] 返回类型[void-无返回类型,引用数据类型-String/自定义类,基本数据类型-八大基本数据类型] 方法名(参数){方法体}/**
*比如我们有一个方法叫做play
*我们先写访问修饰符,再写是否为静态static,再写是否为不可改变的fina1 等修饰符
*比如这个play方法,就有两个修饰符,一个是共有的,一个是静态的
*返回类型,返回类型可以是无返回-void可以是引用数据类型-string/自定义数据类型 基本数据类型-大基本数据类型
*方法名(方法名称都是以小写字母开头,符合驼峰命名法,不可以以数字开头
*之后写一个()括号中可以写参数,我们称新建方法时使用的方法名为形参,在调用时传递的参数为实参*之后写得这里写的内容为我们方法的方法体
*/
pub7ic static string play(string s1){return "这只狗在玩"+s1;
}
JAVA面向对象(OOP)-类和对象相关推荐
- Java—面向对象设计—类和对象
理解面向对象程序设计 面向对象程序(Object-oriented programming,OOP)设计是继面向过程又一具有里程碑意义的编程思想,是现实世界模型的自然延伸.下面从结构化程序设计说起,逐 ...
- Educoder/头歌JAVA实训——JAVA面向对象:类与对象
第1关:什么是类,如何创建类 什么是类 类:类是一个模板,它描述一类对象的行为和属性. 对象:对象是类的一个实例,有 属性 和 行为 . 举个例子: 人是一个 "类",小明就是人的 ...
- 狼人杀与血染钟楼的【JAVA面向对象】————类和对象
目录 一.类 1.什么是类 2.类的定义 3.类的构成 二.对象 1.什么是对象 2.对象的实现 三.static 一.类 1.什么是类 天黑请闭眼! 现在是狼人杀的时间,好了,现在你拿的身份是狼人. ...
- 头歌java面向对象,类与对象
第二关 构造方法 编程要求 根据提示,在右侧编辑器Begin-End处补充代码: 创建一个Person类,给Person类定义一个无参构造方法和一个有参构造方法,有参构造方法定义两个String类型参 ...
- java面向对象(类与对象,局部变量成员变量,基本类型和引用类型作为参数传递)...
一.类和对象的区别 类是对某一类事物的抽象描述,而对象用于表示现实中该类事物的个体 可以将玩具模型看作是一个类,将一个个玩具看作对象,从玩具模型和玩具之间的关系便可以看出类与对象之间的关系.类用于描述 ...
- 面向对象系列教材 (一)- Java中的类和对象
面向对象系列教材 (一)- Java中的类和对象 本章节会引入面向对象的基本概念 (但是不会深入展开,仅仅是引入. 深入的学习会在后续的类和对象以及接口与继承 中展开) 相信你肯定玩过DOTA或者LO ...
- oop 类和对象的_实用程序类的OOP替代
oop 类和对象的 实用程序类(也称为帮助程序类)是仅具有静态方法且不封装状态的"结构". StringUtils , IOUtils , FileUtils从Apache的共享 ...
- java基础(三):java面向对象OOP
java面向对象OOP 基本概念 面向过程与面向对象 面向过程:关注代码实现的细节.复用性 面向对象:先把每个过程的代码实现细节整合到对象中,只要找到对象就能拥有对象身上所有的功能. 面向对象基于面向 ...
- JAVA基础––从类和对象开始
JAVA基础--从类和对象开始 一.概念 1.面向对象中类和对象的概念 对象:对象是具有状态和行为的实体,例如某个具体的学生,或者是王者荣耀里的英雄,可以是物理实体,也可以是逻辑实体. 类:类是一组具 ...
- Java基础学习第十三讲:Java面向对象---嵌套类
Java面向对象-嵌套类.内部类.匿名类 一.static静态 在<Java编程思想>有这样一段话: "static方法就是没有this的方法.在static方法内部不能调用非静 ...
最新文章
- 什么是物联网网关?物联网网关具备什么功能?_转
- javascript构造函数类和原型prototype定义的属性和方法的区别
- 解决:build_attrs() takes at most 2 arguments (3 given)
- 无人驾驶(在apollo中添加新车辆)
- 如何在Kubernetes容器环境下部署Spinnaker?
- android webview 设置cookie时间,解决Android webview设置cookie和cookie丢失的问题
- MVVM设计模式和在WPF中的实现(四) 事件绑定
- 32位kali安装minidwep_原水_新浪博客
- STM32+ADS1110
- 工程经济—技术方案不确定性分析
- 韦福怎么编译c 语言,c语言第1章 绪论.ppt
- ebay增强可用性的4个原则
- 项目经验不丰富、技术不突出的程序员怎么打动面试官?
- 『转』饯行:理想主义终结年代的七种兵器
- 华为吹响“伙伴暨开发者”集结号:共赢数字时代
- 第三章:SQL——视图操作
- 集成显卡 独立显卡 CPU核心显卡的区别
- chrome谷歌浏览器:您使用的是不受支持的命令行标记:--extensions-on-chrome-urls
- 基于flask徐州市天气信息可视化分析系统 毕设源码04600
- 了解游戏测试主要工作及主要流程