java基础(2)-面向对象(1)
面向对象
面向对象思想
- 面向对象是相对面向过程而言
- 面向对象和面向过程都是一种思想
- 面向过程:强调的是功能行为
- 面向对象:将功能封装进对象,强调具备了功能的对象
- 面向对象是基于面向过程的
面向对象举例
举例1(冰箱)
- 面向过程:打开冰箱,存储冰箱,关闭冰箱
- 面向对象:冰箱(打开,存储,关闭)
举例2(窗口)
- 面向过程:移动窗口,最小化窗口,最大化窗口
- 面向对象:窗口(移动,最小化,最大化)
类与对象
概念
类:将具有==相同属性和相同行为的一组对象==称为类。即用于描述一组对象的共同特征和行为。
注:类是一个抽象的概念,要利用类的方式解决问题,必须用类创建一个实例化的类对象,然后通过类对象去访问类的成员变量,去调用类的成员方法类实现程序的功能对象:一个对象由==一组属性和一组对属性进行操作的方法==构成
对象的特征
静态特征:指对象的外观、性质、属性等。人们将对象的静态特征抽象为属性,用数据来描述,java中称之为==变量==。
动态特征:指对象具有的功能、行为等。人们将对象的动态特征抽象为行为,用一组代码来表示,完成数据的操作,java中称之为==方法==。
变量(属性)
成员变量:定义在类中的变量称为成员变量。在类方法外。
局部变量:定义在方法中的变量称为局部变量。在方法中定义或方法声明上
方法(函数)
成员方法:
构造方法:
对象的创建及内存图
创建对象:Persion p=new Persion();
- new Persion()用于创建Persion类的一个实例对象
- Persion p 则是声明了一个Persion类类的变量p
- = 号用于将Persion对象在内存中的地址赋值给变量p,这样变量p便有了对象的引用。【即把引用值存储在变量s中】
匿名对象
定义:没有名字的对象,匿名对象调用完就是垃圾
例如;
new car().num = 5; //这就是匿名对象
匿名对象调用方法比较有意义,调用属性没有意义
使用方式1:当对对象的方法只调用一次时,可使用匿名对象来完成,这样比较简化。如果对一个对象进行多个成员调用时,必须给这个对象起个名字
使用方式2:可以将匿名对象作为实际参数进行传递
java基础(2)-面向对象(1)的更多相关文章
- Java基础-初识面向对象编程(Object-Oriented-Programming)
Java基础-初识面向对象编程(Object-Oriented-Programming) 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. Java是一门面向对象的程序设计语言.那么什 ...
- 黑马程序员——【Java基础】——面向对象(二)异常机制、包(Package)
---------- android培训.java培训.期待与您交流! ---------- 一.异常机制 (一)异常概述 1.异常:就是程序在运行时出现不正常情况. 2.异常类:程序在运行时,出现的 ...
- Java基础之面向对象以及其他概念
一.基础知识:1.JVM.JRE和JDK的区别: JVM(Java Virtual Machine):java虚拟机,用于保证java的跨平台的特性. java语言是跨平台,jvm不是跨平台的. JR ...
- 【Java基础】面向对象下
面向对象下 这一章主要涉及其他关键字,包括 this.super.static.final.abstract.interface.package.import 等. static 在 Java 类中, ...
- 【java基础】面向对象的三大基本特征之-------继承
面向对象的三大特征:封装,继承,多态 java通过extends关键字来实现继承,而且是单继承,一个子类只可以有一个直接父类,但是父类还可以有父类... java.long.Object是所有类的父类 ...
- 黑马程序员——【Java基础】——面向对象(一)概述、类与对象、继承、抽象类、接口、多态、内部类
---------- android培训.java培训.期待与您交流! ---------- 一.面向对象概述 1.面向对象:是一个很抽象的概念,它相对面向过程而言,是一种程序设计的思想. 2.面向对 ...
- 再探java基础——对面向对象的理解(1)
对象 对象是人们要进行研究的任何事物,从最简单的整数到复杂的飞机等均可看作对象,它不仅能表示具体的事物,还能表示抽象的规则.计划或事件.对象具有属性和行为,在程序设计中对象实现了数据和操作的结合,使数 ...
- Java基础(6)- 面向对象解析
java面向对象 对象 知识点 java 的方法参数是按值调用,是参数的一份拷贝 封装 使用private将 属性值/方法 隐藏,外部只能调用 get,set方法/非private 的接口 获取 重载 ...
- Java基础总结--面向对象1
---面向对象的概念---1.面向过程与面向对象的区别面向过程:是一种思维习惯,解决一个问题的时候靠的是一个个方法调用--核心是动作面向对象:是一种更接近生活中解决问题的思维习惯,解决特定的问题靠对象 ...
- Java基础知识➣面向对象(八)
概述 Java和C#都是面向对象语言,面向对象编程是目前高级语言习惯的编程模式,与C++编写过程编程而言,面向对象使用起来高效.灵活:面向对象的三个特征:封装.继承和多态. Java面向对象 1.类封 ...
随机推荐
- 160818、CSS页面布局笔记
居中布局 水平居中 父元素和子元素的宽度都未知 inline-block + text-ailgn .child{display:inline-block;} .parent{text-align ...
- JS实现全选,全不选
<script type="text/javascript"> function selectItem() { document.getElementById(&quo ...
- eclipse远程debug Java程序
使用Eclipse JPDA远程调试Java程序 本文将介绍使用Eclipse JPDA,在Eclipse的开发环境下对远程运行的Java程序进行调试操作. 请按以下步骤进行(本人已经在Eclipse ...
- Xamarin.Forms学习之Platform-specific API和文件操作
这篇文章的分享原由是由于上篇关于Properties的保存不了,调用SavePropertiesAsync()方法也不行,所以我希望通过操作文件的方式保存我的需要的数据,然后我看了一下电子书中的第二十 ...
- css,查询相应标签,div等
1.类名 .类别 例子: 查询类名为“useradd” .useradd{ margin-top:50px; margin-left:200px;} 2.属性找 例子:查询类为useradd下的inp ...
- 密钥管理服务KMS
密钥管理服务 KMS - 腾讯云 https://cloud.tencent.com/product/kms
- java javassis crack class
java javassis crack class java 反编译 android 反编译 1. jad http://varaneckas.com/jad/jad158e.linux.inte ...
- linux环境配置nginx导致页面不刷新
在linux环境下,配置了nginx负载均衡,由于可能在虚拟主机的配置文件nginx.conf中,对缓存机制未配置成功,导致页面不刷新,仍然显示缓存中的内容. 最后通过注释nginx.conf文件中的 ...
- argparse 模块 在终端执行脚本文件
1.案例 #1.案例: import argparse #首先导入模块 parser = argparse.ArgumentParser() #创建一个解析对象 parser.add_argument ...
- 洗牌算法Fisher-Yates以及C语言随机数的产生
前些天在蘑菇街的面试中碰到一道洗牌的算法题,拿出来和大家分享一下! 原题是:54张有序的牌,如何无序的发给3个人? 这个题是运用经典的洗牌算法完成.首先介绍一种经典的洗牌算法--Fisher-Yate ...