1. 类,对象,对象属性,对象的行为
用洗衣服来举例什么是面向对象,什么是面向过程
面向过程:
洗衣服:脱衣服-->找盆-->加水-->倒洗衣粉...-->拧干-->晾晒
面向对象:
洗衣服:脱衣服-->放入全自动洗衣机(对象)-->晾晒
洗衣机就是一个对象
对象:看得见摸得着的事物
类:类是对象对象是事物的一种描述,类中声明有对象的属性和行为(描述对象是什么样的)
对象属性:对象具有的各种特征
对象行为:对象能干什么
总结:可以把类看成一张图纸,对象就是图纸造出来的具体事物,对象是什么样,能做什么,取决于类是如何设计定义的
类的定义:
属性:在类中通过成员变量(声明在类中方法外的变量)
行为:在类中通过成员方法来实现(不用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. 类,对象,对象属性,对象的行为相关推荐
- Java反射之Filed(类中的属性对象)
通过反射机制获取类中的属性对象. 1.获取类中所有的public属性(包括父类):getFields(): public class TestFiled {class A{public int age ...
- 1.10 访问对象的属性和行为
每个对象都有自己的属性和行为,这些属性和行为在类中体现为成员变量和成员方法,其中成员变量对应对象的属性,成员方法对应对象的行为. 在 Java 中,要引用对象的属性和行为,需要使用点(.)操作符来访问 ...
- Java访问对象的属性和行为
每个对象都有自己的属性和行为,这些属性和行为在类中体现为成员变量和成员方法,其中成员变量对应对象的属性,成员方法对应对象的行为. 在 Java 中,要引用对象的属性和行为,需要使用点(.)操作符来访问 ...
- java访问对象的属性_java访问对象的属性和行为详细介绍
每一个对象都会有属于自己的属性和行为,下面的文章就对java访问对象的属性和行为做了一下详细的介绍. 对象的属性和行为在类当中体现为成员变量和成员方法,其中成员变量对应对象的属性,成员方法对应对象的行 ...
- html属性是dom属性吗,HTML DOM 属性 对象
HTML DOM 属性 对象 HTML DOM 节点 在 HTML DOM (Document Object Model) 中, 所有的都是 节点: 文档是文档节点 所有 HTML 元素是元素节点 所 ...
- 什么是对象?对象的属性和存储又是什么?
一.什么是对象? **对象:**其实就是一种类型,即引用类型.而对象的值就是引用类型的实例.万物皆对象,除了数字,字符,布尔这种绝对值以外的所有部分都是对象,对象是类的实例化体现,类是对象的抽象体现. ...
- python-给对象添加属性与方法
给对象添加属性 对象.属性名 = 属性值 给对象添加方法 >匿名函数,就是函数体
- Python 类对象及属性内置方法 classmethod、delattr、dir、hasattr、getattr、callable
1. classmethod classmethod 修饰符对应的函数不需要实例化,不需要 self 参数.第一个参数需要是表示自身类的 cls 参数,能调用类的属性.方法.实例等. class Pe ...
- java根据属性获取对象_java反射工具类--通过指定属性名,获取/设置对象属性值
java对象通过点运算符操作对象属性的方式没法使用for,while等循环,此工具主要解决这一问题. 例如:有一对象包含属性有一定规律 obj1: { name1: "张三", a ...
- python查看类的属性和方法_Python 获取对象的属性和方法—dir 函数
工作中,我们使用一些之前没用到过的模块,使用时需要了解一下这个模块中的一些类的方法或属性,怎么做呢?目前我比较常用的两款IDE"Pycharm"和"VSCode" ...
最新文章
- 读书:有趣 -- 酒鬼与圣徒
- 开发常识 持续更新~~
- Python控制台英汉-汉英电子词典
- mysql 字段 中文_如何配置mysql支持中文字段名与中文字段
- django-admin的源码流程
- 2016计算机二级java_2016年计算机二级《JAVA》考试练习题
- Windows系统与虚拟机共享文件夹,映射的磁盘显示“信号灯超时”
- 虚拟仿真实验教学计算机网络,虚拟仿真实验教学及实验中心建设
- ubuntu16.04磁盘分区及挂载
- linux高性能服务器编程PDF源代码下载
- Python基础知识笔记(三)——字典、集合
- 如何快速绘制一个等边三角形呢?
- python和scre_前端大牛们都学过哪些东西?
- 教程:Windows10下如何安装使用多版本Tensorflow2.x/Pytorch/paddlepaddle的GPU版本[和CUDA的安装及问题详解]【亲测可行】【详细和持续更新】
- Apifox 测试工具
- Python 如何进行JSON提取数据的字段值?
- C语言函数嵌套定义问题
- Android开发经验谈-很少有人会告诉你的Android开发基本常识,经验谈android
- font-face 自定义字体
- yii2.0 中文手册 php,Yii2.0 高级版开发指南
热门文章
- 教你分割视频,几分钟快速分割多个视频
- 【算法】O(n2)时间复杂度和O(nlogn)排序算法的简要分析
- AI:人工智能领域之AI的发展历史图集合、AI发展思维导图之详细攻略
- 如何申请一个教育邮箱
- RabbitMQ:四种ExChange用法
- 苹果自带的清理软件_苹果电脑清理软件哪个好
- 传奇手游漏洞获取gm权限_传奇私服漏洞获取gm权限
- 毕设第十周工作报告和第十一周安排
- 程序员不应该错过的 6大导航
- 电脑主板线路连接图解_机箱线怎么接主板 DIY电脑机箱跳线与主板连接图解(2)...