java基础(四)
一、面向对象的三个基本特征:
1、封装,将对象的实现细节隐藏起来,并通过公共接口暴露相关功能;
2、继承,代码复用的表现,当子类继承父类后,子类作为一种特殊的父类,直接获得父类的属性和方法;
3、多态,子类对象可以直接赋给父类变量,但运行时依然表现出子类的行为特征,意味着同一个类型的对象在运行时可能表现出不同的行为特征
(PS:java不支持多重继承)
二、面向对象编程的一般过程大致为:OOA面向对象分析、OOD面向对象设计和OOP面向对象编程三个阶段。面向对象分析设计一般需用到UML工具。UML主要有以下几种图:用例图、类图、组件图、部署图、顺序图、活动图和状态机图
三、JAVA 8中基本数据类型
数据类型 |
大小 |
范围 |
默认值 |
byte(字节) |
8 |
-128 - 127 |
0 |
shot(短整型) |
16 |
-32768 - 32768 |
0 |
int(整型) |
32 |
-2147483648-2147483648 |
0 |
long(长整型) |
64 |
-9233372036854477808-9233372036854477808 |
0 |
float(浮点型) |
32 |
-3.40292347E+38-3.40292347E+38 |
0.0f |
double(双精度) |
64 |
-1.79769313486231570E+308-1.79769313486231570E+308 |
0.0d |
char(字符型) |
16 |
‘ \u0000 - u\ffff ’ |
‘\u0000 ’ |
boolean(布尔型) |
1 |
true/false |
false |
四、JAVA中基本数据类型的转换方式:自由转换和强制转换。强制转换的方式与C语言类同,浮点数转整数直接去掉小数点后面的内容,缩小转换时从低位对齐转换。
五、JAVA中运算符优先级:赋值运算<三目运算<逻辑运算<位操作<关系运算符<移位运算符<算术运算符<强制转换<单目运算符<分隔符。
六、JAVA中break结束循环、continue结束本次循环、return结束方法
七、JAVA中两种数组定义方法:1、type[] arrayname 2、 type arrayname[]。其中第二种定义方法与C语言类似,但语义不明确,建议使用第1中,表明type[]也是一种引用类型。
JAVA中数组必须先初始化才能使用,这一点与C语言不同,JAVA中有两种数组初始化的方法:静态初始化和动态初始化,执行动态初始化时,系统根据数组类型自动初始化值,比如int[]
则将所有元素初始化为0,引用类型则初始化为null。
八、JAVA中遍历数组的方法有两种:1、类似于C语言的基本for循环 2、jdk1.5之后提供foreach循环其格式为for(type a,arrayname),其中arrayname为type[]类型数组
九、JAVA中数组元素保存在heap内存中,而数组引用变量则存储在stack中。(JAVA中stack一般保存方法中定义的变量,每个方法的运行都会新建一个stack区,在方法运行时逐个将变量压入stack,方法结束时
则pull所有变量,自然销毁stack;heap中保存对象,方法结束时对象也不会销毁,只有当对象不再被引用时回被回收)
十、JAVA中this指向调用类中方法的对象,它的最大作用是实现在一个类的内部方法的互相调用,但在使用时往往省略this关键字,特别的在static修饰的方法中是不允许使用this
十一、JAVA中方法的参数传递唯一方式:值传递。C语言对应着两种:值传递和地址传递。其实JAVA与C本质没有区别,只是JAVA将指针做了封装,只需要值传递就能完成C语言两种传递方式对应的操作。
java基础(四)的更多相关文章
- Java基础(四) StringBuffer、StringBuilder原理浅析
StringBuilder与StringBuffer作用就是用来处理字符串,但String类本身也具备很多方法可以用来处理字符串,那么为什么还要引入这两个类呢? 关于String的讲解请看Java基础 ...
- java 基础 四种权限修饰符
/** * Java有四种权限修饰符: * public > protected > (default) > private * 同一个类 YES YES YES YES * 同一个 ...
- Java基础-四要素之一《继承》
继承的概念: 继承在本职上是特殊——一般的关系,即常说的is-a关系.子类继承父类,表明子类是一种特殊的父类,并且具有父类所不具有的一些属性或方法. 继承是所有OOP语言不可缺少的部分,在java中使 ...
- Java基础-四要素之一《多态》
什么是多态 指允许不同类的对象对同一消息做出响应.即同一消息可以根据发送对象的不同而采用多种不同的行为方式.(发送消息就是函数调用) 多态是指程序中定义的引用变量所指向的具体类型和通过该引用变量发出的 ...
- Java基础(四)-异常处理机制及其设计
本篇主要是记录自己所理解的Java异常处理机制(基于jdk1.7)以及怎么去处理和设计异常.还记得当初学习Java异常这块的时候都没怎么注意它的用途,以为就是简单的处理下异常,我避免程序出现这样错误就 ...
- 《温故而知新》JAVA基础四
类的封装 定义:将类的一些信息隐藏起来,不允许外部的程序直接的访问,而是通过该类提供的一些方法来获取 好处:只能通过特定的法方法访问数据,保护了数据, 实现封装的步骤: 修改属性的可见性:(一般类属性 ...
- Java基础-四要素之一《封装》
封装从字面上来理解就是包装的意思,专业点就是信息隐藏,是指利用抽象数据类型将数据和基于数据的操作封装在一起,使其构成一个不可分割的独立实体,数据被保护在抽象数据类型的内部,尽可能地隐藏内部的细节,只保 ...
- Java基础-四要素之一《抽象》(接口)
抽象的概念就是抽象出共同属性:成员变量和方法 定义抽象使用abstract关键字定义抽象类和方法 抽象类 abstract class 包含抽象方法的类,叫抽象类. 所以抽象类可以有private等多 ...
- java基础-四种方法引用
实例 直接三角形,通过两边算第三边,目的是为了如何使用这几种方法引用.代码中多有些不合适,尽情原谅. 静态方法引用 接口的参数列表与类中的具体实现方法的参数列表一样,返回值一致. 调用 //静态引用 ...
- java 基础四
1 for循环嵌套 简而言之,就是一个for循环语句里面,还有一个for循环语句. 外层循环,每循环一次,内层循环,循环一周. 示例 package java003; /** * 2017/9/1. ...
随机推荐
- Map工具系列-02-数据迁移工具使用说明
所有cs端工具集成了一个工具面板 -打开(IE) Map工具系列-01-Map代码生成工具说明 Map工具系列-02-数据迁移工具使用说明 Map工具系列-03-代码生成BySQl工具使用说明 Map ...
- TP-LINK WR941 DD-WRT刷回OpenWRT及OpenWRT刷回原厂固件
1.DD-Wrt 刷回 OpenWrt A.从官网下载固件: root@TL-DDWRT:/tmp# wget http://downloads.openwrt.org/barrier_breaker ...
- 通过jquery的serializearray处理表单数据成json格式,并提交到后台处理
var params = $("#myform").serializeArray(); var values = {}; for (var item in params) { va ...
- Acer-宏碁电脑BOIS
进入电脑BOIS界面; 1.开机(一闪而过)注意第一屏左下角,会有进入BIOS按键提示. 2.如一开机没有进入BIOS的键值提示,取而代之的是品牌机的Logo,可参阅以下列表:不是品牌机可参阅主板设置 ...
- 【Tomcat】tomcat报连接超时错误
程序一直报这个错误 [getui-server][ERROR] [2016-03-17 10:50:00] getui.task.HftMongoInfoTask.execute(137) | --H ...
- CentOS(RedHat)安装Adobe Flash Player插件 For firefox
1. 下载离线包 http://www.adobe.com/shockwave/download/download.cgi?P1_Prod_Version=ShockwaveFlash 如果嫌麻烦,我 ...
- 利用iis虚拟目录实现文件服务器功能(分布式存储)
要求说明: 通过网站上传文件保存到统一的文件服务器上. 服务器说明: 1.文件服务器以下称为FilesServer,IP地址为:192.168.1.213 2.Web服务器为以下称为WebServer ...
- 时下手机和p2p理财的共同点
1, 雨后春笋,百家争鸣:一会听说这个又做手机了,一会听说哪哪哪又搞了个P2P. 2, 性价比高的都得靠抢:手机配置高价格低的要抢:p2p利率高时间短的要抢. 3, 竞争惨烈:手机千元机各种血拼:P2 ...
- oracle查询某一个字段的数量总和
select count(*) from (select count(*) from 表名称 group by 多种数据量 ) 表名; 举个栗子: 比如说我有一个数据类型的字段, 里面有很多种的数据类 ...
- Redis 3.0正式版发布,正式支持Redis集群
Redis是一个开源.基于C语言.基于内存亦可持久化的高性能NoSQL数据库,同时,它还提供了多种语言的API.近日,Redis 3.0在经过6个RC版本后,其正式版终于发布了.Redis 3.0的最 ...