理解JAVA - 面向对象(object) - 属性,方法
理解JAVA - 面向对象(object) - 属性,方法
多态的体现:
向上造型,父类接收子类对象;
向上造型:
从父类角度看不到子类独有的方法;
面向对象,人类认知世界的方式;
生活中每天都在多态:
这个人是谁,这是个人,多态来看待他了;
他是老师 把它向下造型来看待了,他是老师,知道他能讲课了,老师是人下面的子类型;
我们每天都已多态来接收事物,然后向下造型:
这是人,这人是老师;
这是车,这车是奥迪
小时候,不知到是什么,就问这是什么东西,世间万物都能成为东西,东西就是object,object是文雅的翻译成对象,
java一切皆对象 == java一切皆东西
面向对象语言 == 面向东西语言
一切都是object,java一切都用object接收;
当你不知到是什么的时候,以object接收,当成object对象,即当成东西对象
类的:
属性,方法
等于
现实生活中的:
特征,行为;
人特征 == 属性:
名字,性别,身高,每个人都有,值不一样,但是秃子没有头发,有头发,只不过值是null,不能说他没头发
人行为 == 方法:
都会走,会跑,会跳,跑得方法一样,算法一样都是左右腿跑,带入参数不一样,姚明跑得块
父类的属性和方法,所有子类都有,共性少,object方法少,object增加个方法,所有子类都有;
东西啥都会吗,东西会跑?东西是一个具体实例了,所以不能说东西都会跑
数据私有化,行为公开化,
钱包私有的,只有我自己能用,想花我的钱,要和我来借,
我可以决定,借你还是不借你;
虽然能改我的数据,但是决定权还是在我这里。
一个属性,不知道要不要私有,保守起见都设置为私有;
理解JAVA - 面向对象(object) - 属性,方法的更多相关文章
- Java面向对象 Object类 内部类
Java面向对象 Object类 内部类 知识概要: 一:Object类 二:内部类 匿名内部类的写法 1.Object O ...
- 关于Java的Object.clone()方法与对象的深浅拷贝
文章同步更新在个人博客:关于Java的Object.clone()方法与对象的深浅拷贝 引言 在某些场景中,我们需要获取到一个对象的拷贝用于某些处理.这时候就可以用到Java中的Object.clon ...
- (一)如何理解java面向对象编程
哲学中,事物总是螺旋式上升,波浪式前进.因而编程也逐渐向人类更容易理解的方向前进,多年来人们苦苦追求的编程境界 : 高扩展性(extensibility),高复用性(reuseable).java语言 ...
- 深入理解Java面向对象三大特性 封装 继承 多态
1.封装 封装的定义: 首先是抽象,把事物抽象成一个类,其次才是封装,将事物拥有的属性和动作隐藏起来,只保留特定的方法与外界联系 为什么需要封装: 封装符合面向对象设计原则的第一条:单一性原则,一个类 ...
- 彻底理解Java中的hashcode方法(转)
本文转自http://www.importnew.com/18851.html 哈希表这个数据结构想必大多数人都不陌生,而且在很多地方都会利用到hash表来提高查找效率.在Java的Object类中有 ...
- 理解java面向对象基础
1. 类和对象 一切皆对象,这可以说是面向对象的核心思想了. 类,就是具有相同性质对象的抽象. 而类的每一个具体的实例就是一个对象. 我们可以定义一个Person类,这个Person类就是所有的人的抽 ...
- Java - 面向对象(object oriented)计划 详细解释
面向对象(object oriented)计划 详细解释 本文地址: http://blog.csdn.net/caroline_wendy/article/details/24058107 程序包括 ...
- Java中Object的方法
构造方法摘要Object() 方法摘要protected Object clone() 创建并返回此对象的一个副本.boolean equals(Object ...
- MessageFormat理解,MessageFormat.format(Object obj)方法
MessageFormat.format(Object obj)方法主要用途为拼接message信息 用法: Object[] testArgs = {new String("张三" ...
随机推荐
- java -- getOutputStream() has already been called for
原文:https://my.oschina.net/zhongwenhao/blog/209653 原因:既调用了response.getOutputStream(),又调用了response.get ...
- Linux常用命令学习6---(vim的使用)
先说说我,我使用了这么久的vim,但是完全没有将vim的功能完全利用到,无非就是使用了编辑(i).保存(:w).退出(:q).等简单的编辑,命令,以及NerdTree这一个插件,所以在这里需要重新学习 ...
- 【leetcode】Excel Sheet Column Title & Excel Sheet Column Number
题目描述: Excel Sheet Column Title Given a positive integer, return its corresponding column title as ap ...
- vim 标签命令
设置标签:ma 跳转到标签:`a 查看当前所有标签:marks 删除标签:delmarks a 删除所有标签:delmarks! 不包括[A-Z]和[0-9]标签.
- ios数据永久存储之----NSUserDefaults
我们在开发app时不可避免的会在本地存储一些数据,NSUserDefaults就是系统提供的一个用来数据存储的类,本片文章就来介绍一些NSserdefazults的用法. 详细内容:https://m ...
- [leetcode] 12. Integer to Roman
关于罗马数字: I: 1V: 5X: 10L: 50C: 100D: 500M: 1000字母可以重复,但不超过三次,当需要超过三次时,用与下一位的组合表示:I: 1, II: 2, III: 3, ...
- java Collection.shuffle()随机打乱一个顺序数组
如何打乱一个顺序的数组,其实集合的帮助类Collection就有现成的方法可用,而且效率还蛮高的,总比自定义随机数等等方法要好很多.其实乱序就这么简单,步骤如下: 1. 将一个顺序排列的数组添加到集合 ...
- Leetcode 4Sum
Given an array S of n integers, are there elements a, b, c, and d in S such that a + b + c + d = tar ...
- Leetcode Valid Number
Validate if a given string is numeric. Some examples:"0" => true" 0.1 " => ...
- 反射-----学习Spring必学的Java基础知识之一
Java允许通过程序化的方式间接对Class进行操作,Class文件由类装载器装载后,在JVM中将形成一份描述Class结构的元信息对象,通过该元信息对象可以获知Class的结构信息:如构造函数.属性 ...