用洗衣服来举例什么是面向对象,什么是面向过程

面向过程:

洗衣服:脱衣服-->找盆-->加水-->倒洗衣粉...-->拧干-->晾晒

面向对象:

洗衣服:脱衣服-->放入全自动洗衣机(对象)-->晾晒

洗衣机就是一个对象

对象:看得见摸得着的事物

类:类是对象对象是事物的一种描述,类中声明有对象的属性和行为(描述对象是什么样的)

对象属性:对象具有的各种特征

对象行为:对象能干什么

总结:可以把类看成一张图纸,对象就是图纸造出来的具体事物,对象是什么样,能做什么,取决于类是如何设计定义的

类的定义:

属性:在类中通过成员变量(声明在类中方法外的变量)

行为:在类中通过成员方法来实现(不用static修饰)

Phone类

//手机类 该类要看成一张图纸
public class Phone {/*描述手机的属性(成员变量)声明在类中,方法外,在创建对象的时候才会被加载*/String name;//手机名称double price;//手机价格int storage;//内存/*描述手机的行为(成员方法)不用static修饰的方法 名称:满足驼峰法,动宾结构*/public void playGame(){System.out.println("打游戏");}public void call(){System.out.println("打电话");}}

Phone的测试类

//Phone类的测试类
public class Test {public static void main(String[] args) {//造手机(创建对象) 格式:类名 引用=new 类名();Phone p=new Phone();System.out.println(p);//day05.oop.Phone@1b6d3586//设置属性值 格式:引用.成员变量名=值p.name="苹果";p.price=9.9;p.storage=128;//之后用构造方法设置属性值//成员变量的访问 格式:引用.成员变量名System.out.println(p.name);System.out.println(p.price);System.out.println(p.storage);//访问成员方法 格式:引用.方法名p.call();p.playGame();System.out.println("======================");Phone p2=new Phone();p2.name="菠萝";//mi mobile internetp2.price=19.9;p2.storage=1024;System.out.println(p2.name);System.out.println(p2.price);System.out.println(p2.storage);p2.call();p2.playGame();Phone p3=null;//System.out.println(p3.name);发生异常NullPointerException

构造方法格式:

权限修饰符 类名(参数列表){

}

1.每个类中都默认有一个无参构造方法。一旦自己声明了一个构造方法后,默认的构造方法就会被覆盖

2.创建对象时,都会默认调用无参构造方法

3.构造方法也可以重载。一个类可以声明多个参数不同的构造方法

4.在构造方法中可以使用this(参数值调用其他构造方法)该语句只能写在第一行

5.构造方法用于属性的初始化,给成员变量赋值

Animal类

public class Animal {/*
属性*/String name;//名称String gender;//性别int age;//年龄//声明了一个无参构造方法//不写无参的这个无参的默认会有,写了有参的这个无参的会被有参的覆盖!public Animal(){this("zhangsan",18,"雌雄同体");//用this调用了其他参构造方法System.out.println("调用无参构造方法");}//声明了一个有参构造方法public Animal(String name){System.out.println(name);}//声明了一个有参构造方法public Animal(String name,int age,String gender){//给成员变量赋值this.name=name;this.age=age;this.gender=gender;}/*行为*/public void eat(){System.out.println("吃东西");}public void sleep(){System.out.println("睡觉");}}

Animal测试类

//Animal类测试类
public class AnimalTest {public static void main(String[] args) {//创建Animal对象,默认调用了无参构造方法Animal a1=new Animal("1",18,"雌雄同体");//Animal a2=new Animal("zhangsan");System.out.println(a1.name);System.out.println(a1.age);System.out.println(a1.gender);}
}

this关键字:

1.哪个引用调用方法,该方法中this就指代哪个引用

2.当方法中声明了一个和成员变量同名的局部变量,使用this区分成员变量和局部变量

3.在成员方法中,可以使用this.方法名 调用其他成员方法


People类

//People类
public class People {String name;//姓名char gender;//'男','女'int age;//年龄double height;//身高boolean isSingle;//是否单身public void eat(){//声明一个局部变量String name="lisi";System.out.println(this.age+"岁的"+this.name+"在吃东西");//使用this则name=zhangsan//this.eat();}public void sleep(){System.out.println("this的地址"+this);//this的地址day05.oop.People@74a14482System.out.println(this.age);//18System.out.println("睡觉");//睡觉}public void fallInLove(){if (this.isSingle==true){//可以不写==trueSystem.out.println("单身ing");}else{System.out.println("谈恋爱ing");}}
}

People测试类

public class PeopleTest {public static void main(String[] args) {//创建了一个Peolple对象,并初始化属性值People p1=new People();p1.name="zhangsan";p1.age=18;p1.gender='男';p1.height=170;p1.isSingle=true;p1.eat();//18岁的zhangsan在吃东西p1.fallInLove();//单身ingp1.sleep();System.out.println("p1的地址"+p1);//p1的地址day05.oop.People@74a14482//打印年龄多大 性别为xx的某某某在吃东西System.out.println("=================");People p2=new People();p2.name="lisi";p2.age=20;p2.eat();//20岁的lisi在吃东西p2.isSingle=false;p2.fallInLove();//谈恋爱ing}
}

1. 类,对象,对象属性,对象的行为相关推荐

  1. Java反射之Filed(类中的属性对象)

    通过反射机制获取类中的属性对象. 1.获取类中所有的public属性(包括父类):getFields(): public class TestFiled {class A{public int age ...

  2. 1.10 访问对象的属性和行为

    每个对象都有自己的属性和行为,这些属性和行为在类中体现为成员变量和成员方法,其中成员变量对应对象的属性,成员方法对应对象的行为. 在 Java 中,要引用对象的属性和行为,需要使用点(.)操作符来访问 ...

  3. Java访问对象的属性和行为

    每个对象都有自己的属性和行为,这些属性和行为在类中体现为成员变量和成员方法,其中成员变量对应对象的属性,成员方法对应对象的行为. 在 Java 中,要引用对象的属性和行为,需要使用点(.)操作符来访问 ...

  4. java访问对象的属性_java访问对象的属性和行为详细介绍

    每一个对象都会有属于自己的属性和行为,下面的文章就对java访问对象的属性和行为做了一下详细的介绍. 对象的属性和行为在类当中体现为成员变量和成员方法,其中成员变量对应对象的属性,成员方法对应对象的行 ...

  5. html属性是dom属性吗,HTML DOM 属性 对象

    HTML DOM 属性 对象 HTML DOM 节点 在 HTML DOM (Document Object Model) 中, 所有的都是 节点: 文档是文档节点 所有 HTML 元素是元素节点 所 ...

  6. 什么是对象?对象的属性和存储又是什么?

    一.什么是对象? **对象:**其实就是一种类型,即引用类型.而对象的值就是引用类型的实例.万物皆对象,除了数字,字符,布尔这种绝对值以外的所有部分都是对象,对象是类的实例化体现,类是对象的抽象体现. ...

  7. python-给对象添加属性与方法

    给对象添加属性 对象.属性名 = 属性值 给对象添加方法 >匿名函数,就是函数体

  8. Python 类对象及属性内置方法 classmethod、delattr、dir、hasattr、getattr、callable

    1. classmethod classmethod 修饰符对应的函数不需要实例化,不需要 self 参数.第一个参数需要是表示自身类的 cls 参数,能调用类的属性.方法.实例等. class Pe ...

  9. java根据属性获取对象_java反射工具类--通过指定属性名,获取/设置对象属性值

    java对象通过点运算符操作对象属性的方式没法使用for,while等循环,此工具主要解决这一问题. 例如:有一对象包含属性有一定规律 obj1: { name1: "张三", a ...

  10. python查看类的属性和方法_Python 获取对象的属性和方法—dir 函数

    工作中,我们使用一些之前没用到过的模块,使用时需要了解一下这个模块中的一些类的方法或属性,怎么做呢?目前我比较常用的两款IDE"Pycharm"和"VSCode" ...

最新文章

  1. 读书:有趣 -- 酒鬼与圣徒
  2. 开发常识 持续更新~~
  3. Python控制台英汉-汉英电子词典
  4. mysql 字段 中文_如何配置mysql支持中文字段名与中文字段
  5. django-admin的源码流程
  6. 2016计算机二级java_2016年计算机二级《JAVA》考试练习题
  7. Windows系统与虚拟机共享文件夹,映射的磁盘显示“信号灯超时”
  8. 虚拟仿真实验教学计算机网络,虚拟仿真实验教学及实验中心建设
  9. ubuntu16.04磁盘分区及挂载
  10. linux高性能服务器编程PDF源代码下载
  11. Python基础知识笔记(三)——字典、集合
  12. 如何快速绘制一个等边三角形呢?
  13. python和scre_前端大牛们都学过哪些东西?
  14. 教程:Windows10下如何安装使用多版本Tensorflow2.x/Pytorch/paddlepaddle的GPU版本[和CUDA的安装及问题详解]【亲测可行】【详细和持续更新】
  15. Apifox 测试工具
  16. Python 如何进行JSON提取数据的字段值?
  17. C语言函数嵌套定义问题
  18. Android开发经验谈-很少有人会告诉你的Android开发基本常识,经验谈android
  19. font-face 自定义字体
  20. yii2.0 中文手册 php,Yii2.0 高级版开发指南

热门文章

  1. 教你分割视频,几分钟快速分割多个视频
  2. 【算法】O(n2)时间复杂度和O(nlogn)排序算法的简要分析
  3. AI:人工智能领域之AI的发展历史图集合、AI发展思维导图之详细攻略
  4. 如何申请一个教育邮箱
  5. RabbitMQ:四种ExChange用法
  6. 苹果自带的清理软件_苹果电脑清理软件哪个好
  7. 传奇手游漏洞获取gm权限_传奇私服漏洞获取gm权限
  8. 毕设第十周工作报告和第十一周安排
  9. 程序员不应该错过的 6大导航
  10. 电脑主板线路连接图解_机箱线怎么接主板 DIY电脑机箱跳线与主板连接图解(2)...