一、面向对象的三个基本特征:

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基础(四)的更多相关文章

  1. Java基础(四) StringBuffer、StringBuilder原理浅析

    StringBuilder与StringBuffer作用就是用来处理字符串,但String类本身也具备很多方法可以用来处理字符串,那么为什么还要引入这两个类呢? 关于String的讲解请看Java基础 ...

  2. java 基础 四种权限修饰符

    /** * Java有四种权限修饰符: * public > protected > (default) > private * 同一个类 YES YES YES YES * 同一个 ...

  3. Java基础-四要素之一《继承》

    继承的概念: 继承在本职上是特殊——一般的关系,即常说的is-a关系.子类继承父类,表明子类是一种特殊的父类,并且具有父类所不具有的一些属性或方法. 继承是所有OOP语言不可缺少的部分,在java中使 ...

  4. Java基础-四要素之一《多态》

    什么是多态 指允许不同类的对象对同一消息做出响应.即同一消息可以根据发送对象的不同而采用多种不同的行为方式.(发送消息就是函数调用) 多态是指程序中定义的引用变量所指向的具体类型和通过该引用变量发出的 ...

  5. Java基础(四)-异常处理机制及其设计

    本篇主要是记录自己所理解的Java异常处理机制(基于jdk1.7)以及怎么去处理和设计异常.还记得当初学习Java异常这块的时候都没怎么注意它的用途,以为就是简单的处理下异常,我避免程序出现这样错误就 ...

  6. 《温故而知新》JAVA基础四

    类的封装 定义:将类的一些信息隐藏起来,不允许外部的程序直接的访问,而是通过该类提供的一些方法来获取 好处:只能通过特定的法方法访问数据,保护了数据, 实现封装的步骤: 修改属性的可见性:(一般类属性 ...

  7. Java基础-四要素之一《封装》

    封装从字面上来理解就是包装的意思,专业点就是信息隐藏,是指利用抽象数据类型将数据和基于数据的操作封装在一起,使其构成一个不可分割的独立实体,数据被保护在抽象数据类型的内部,尽可能地隐藏内部的细节,只保 ...

  8. Java基础-四要素之一《抽象》(接口)

    抽象的概念就是抽象出共同属性:成员变量和方法 定义抽象使用abstract关键字定义抽象类和方法 抽象类 abstract class 包含抽象方法的类,叫抽象类. 所以抽象类可以有private等多 ...

  9. java基础-四种方法引用

    实例 直接三角形,通过两边算第三边,目的是为了如何使用这几种方法引用.代码中多有些不合适,尽情原谅. 静态方法引用 接口的参数列表与类中的具体实现方法的参数列表一样,返回值一致. 调用 //静态引用 ...

  10. java 基础四

    1 for循环嵌套 简而言之,就是一个for循环语句里面,还有一个for循环语句. 外层循环,每循环一次,内层循环,循环一周. 示例 package java003; /** * 2017/9/1. ...

随机推荐

  1. Thinking in java学习笔记之interface

    (完全解耦)策略设计模式:

  2. Codeforces Round #373 (Div. 2)

    A,B,C傻逼题,就不说了. E题: #include <iostream> #include <cstdio> #include <cstring> #inclu ...

  3. Zabbix监控mysql主从复制状态

    原理 mysql slave show slave status\G 在输出信息中查看I/O线程和SQL线程的状态值(YES为正常,NO为错误) Slave_IO_Running: Yes Slave ...

  4. Objective-C总Runtime的那点事儿(一)消息机制

    最近在找工作,Objective-C中的Runtime是经常被问到的一个问题,几乎是面试大公司必问的一个问题.当然还有一些其他问题也几乎必问,例 如:RunLoop,Block,内存管理等.其他的问题 ...

  5. PostgreSQL Apt Repository

    PostgreSQL Apt Repository If the version included in your version of Ubuntu is not the one you want, ...

  6. Linux的inode的理解

    文件名 -> inode -> device block 一.inode是什么? 理解inode,要从文件储存说起. 文件储存在硬盘上,硬盘的最小存储单位叫做"扇区"( ...

  7. 简单的c# TCP通讯(TcpListener)

      简单的c# TCP通讯(TcpListener) C# 的TCP Socket (同步方式) C# 的TCP Socket (异步方式) C# 的tcp Socket设置自定义超时时间 C# TC ...

  8. 网络中两台主机的通信过程(TCP)

    两台主机通信有两种情况:1.在同一网段中 2.不在同一网段中 (1.)在同一网段的通信过程 主机在应用层上的操作: TCP/IP协议上tcp的端口对应的各种应用程序,客户机要访问某个应用程序就会要求打 ...

  9. hibernate的集中持久化方法的区别

    一.预备知识 在所有之前,说明一下,对于hibernate,它的对象有三种状态,transient.persistent.detached 下边是常见的翻译办法: transient:瞬态或者自由态 ...

  10. winform 多线程编程

    参考资料: WinForm中新开一个线程操作 窗体上的控件(跨线程操作控件) c# 使用定时器Timer