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. ...
随机推荐
- windows2003安装证书服务:csp配置不正确、您没有此密钥容器的写访问权限
1.填写CA名称后在生成密钥时提示:csp配置不正确或安装不完整. 原因:可能的原因为CS服务(Crysptographic Service)没有启动 . ps:该服务依赖RPC服务,但RP ...
- mui日期插件$, each遍历,EventListener事件监听,json格式
(function($) { $.init(); var result = $('#result')[0]; var btns = $('.btn'); btns.each(function(i, b ...
- <<< sqlserver评估过期解决
点击开始-所有程序-Microsoft SQL Server 2008-配置工具-SQL Server 安装中心然后点击左侧的维护,在点击右侧的版本升级,接着按照提示一直点下一步,到产品密钥的时候输入 ...
- python gutter area / 设置断点、行号右边代码左边的空白栏
最后通过在设置里搜索 关键词:show 找到的.== Edito > General > Gutter Icons Show gutter icons
- yaf学习资料
yaf学习资料 文档 鸟哥的官方文档 Yaf框架结合PHPUnit的集成测试 php yaf框架扩展实践六--单元测试.计划任务.第三方库等 php yaf框架扩展实践一--配置篇 yaf实战例子 y ...
- myeclipse 第一步
今天查myeclipse的一个不常用快捷键的时候,意外发现了一个学习myeclipse开端的博文(别问我是怎么查到这篇博文的....两个字:顺手),感觉比较详细,特意记下来, 别人的分享博客: htt ...
- tyvj1148 小船弯弯
描述 童年的我们,充满了新奇的想法.这天,小朋友们用彩虹画笔在云霞上绘制了世界上最美丽的图画.那描绘的是一条大河波浪宽,风吹稻花香两岸的情景.欣赏着自己的作品,小朋友们别提多开心了.这时,Q小朋友对C ...
- ZOJ 3703 Happy Programming Contest
偏方记录背包里的物品.....每个背包的价值+0.01 Happy Programming Contest Time Limit: 2 Seconds Memory Limit: 65536 ...
- 微信 5.3 for iPhone已放出 微信iphone版更新下载
就在几个小时前,微信发布了更新,本次只放出微信 5.3 for iPhone,距离发布微信5.3内测版也就几天时间.和往常一样微信iphone版先发布,微信android版延后发布,微信看重的是ios ...
- 第3月第13天 cpp模版 Iterator模式 proactor
1.模版除了传参,还可以自动创建.而传指针只是传参而已. template <class TYPE, class FUNCTOR, class ACE_LOCK, typename TIME_P ...