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.类封 ...
随机推荐
- php中使用curl来post一段json数据
场景:在调用第三方接口时经常需要使用到curl进行数据交互,在初次使用时遇到一些小问题,记录下来随时查阅. 封装curl相关方法便于使用,方法如下: /** * @param $url * @para ...
- X明X源面试题《一》
本文转载自zhangkang 今天去明源面试,面试题目如下 1 有两张表 A 学生表 ID Name age 1 李1 ...
- java笔记十:java中的反射
Java中,反射是一种强大的工具.它使您能够创建灵活的代码,这些代码可以在运行时装配,无需在组件之间进行源代表链接.反射允许我们在编写与执行时,使我们的程序代码能够接入装载到JVM中的类的内部信息,而 ...
- sql duplicate key
本文来自:高爽,转载请注明. 向数据库插入记录时,有时会有这种需求,当符合某种条件的数据存在时,去修改它,不存在时,则新增,也就是saveOrUpdate操作.这种控制可以放在业务层,也可以放在数据库 ...
- EF 批量更新删除(linq篇)
刚开始用EF很多东西都不会用,事后想想都很简单的东西总是用很麻烦的方式实现 1: EF的联合查询 inner join 很久很久以前我是这么写一个列表展示的,其中有两个字段Contractor和M ...
- 1674 区间的价值 V2(分治)
1674 区间的价值 V2 基准时间限制:1 秒 空间限制:131072 KB 分值: 40 难度:4级算法题 lyk拥有一个区间. 它规定一个区间的价值为这个区间中所有数and起来的值与这个区间所有 ...
- Hints of sd0061(快排思想)
Hints of sd0061 Time Limit: 5000/2500 MS (Java/Others) Memory Limit: 131072/131072 K (Java/Others ...
- (八)solr7实现搜索框的自动提示并统计词频
solr7实现搜索框的自动提示并统计词频 1:用solr 的suggest组件,统计词频相对麻烦. 2:用TermsComponent,自带词频统计功能. Terms组件提供访问索引项的字段和每个词 ...
- log日志框架和LocationAwareLogger问题
遇到了同样的问题, 我的解决办法是在pom.xml中增加如下配置,去除对于jcl-over-slf4j.jar的依赖. <exclusions> <ex ...
- Security Report: Stop using relative path to import CSS files
Detecting and exploiting path-relative stylesheet import (PRSSI) vulnerabilities Early last year G ...