`
student_lp
  • 浏览: 428554 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

java核心:变量类型、运算符优先级、封装继承多态

阅读更多

一、java内的变量类型

1、基本数据类型

①整数类型

byte--8位--默认值(byte)0

short--16位--默认值(short)0

int--32位--默认值0

long--64位--默认值0L

②浮点类型

float--32位--默认值0.0f

double--64位--默认值0.0d

③字符串

char--16位--默认值\u0000(空,'')

④布尔型

boolean--8位--默认值false

2、引用类型

类(class)、接口(interface)、数组。

注意:①java不存在无符号类型变量,所以如果存在java与C/C++通讯的过程中,注意数值型变换操作。

②运算过程中自动类型转换:byte->short->int->long->float->double char->int

二、运算符优先级

 
  

三、抽象封装、继承、多态的概念和作用

 1、封装性:它包含两个含义,一是指把对象的属性和行为看成一个密不可分的整体,将这两者“封装”在一个不可分割的独立单位中;另一个含义是“信息隐藏”,把不需要外界知道的信息隐藏起来。

    作用:把描述对象的变量和方法和在一起,定义为一个程序单位,并保证外界访问限制(提供了属性和方法的访问权限)。

2、继承:从已有的类中派生出新的类,新的类能吸收已有类的数据属性和行为,并能扩展新的能力。在java总是单继承。

      作用:(1)继承关系是传递的。若类C继承类B,类B继承类A(多继承),则类C既有从类B那里继承下来的属性与方法,也有从类A那里继承下来的属性与方法,还可以有自己新定义的属性和方法。继承来的属性和方法尽管是隐式的,但仍是类C的属性和方法。继承是在一些比较一般的类的基础上构造、建立和扩充新类的最有效的手段。

(2)继承简化了人们对事物的认识和描述,能清晰体现相关类间的层次结构关系。

(3)继承提供了软件复用功能。若类B继承类A,那么建立类B时只需要再描述与基类(类A)不同的少量特征(数据成员和成员方法)即可。这种做法能减小代码和数据的冗余度,大大增加程序的重用性。

(4)继承通过增强一致性来减少模块间的接口和界面,大大增加了程序的易维护性。

(5)提供多重继承机制。从理论上说,一个类可以是多个一般类的特殊类,它可以从多个一般类中继承属性与方法,这便是多重继承。Java出于安全性和可靠性的考虑,仅支持单重继承,而通过使用接口机制来实现多重继承。

3、多态:多态是允许程序中出现重名的现象。java中含有方法重载和对象多态两种形式的多态。

     作用:①方法重载:在一个类中,允许多个方法是用同一个名字,但方法的参数不同,完成的功能也不同;

     ②对象多态:子类对象可以与父类对象进行相互转换,而且根据其是用的子类的不同,完成的功能也不同。这里涉及到的最重要的知识就是向上转型。

四、单一继承和多重实现

       在面向对象的编程中,引入继承是为了更好的实现代码的复用,继承是面向对象编程的三大要素之一。当然,为了提升代码的复用,java还引入了组合,在编码的时候用组合还是用继承,将会在后续的java编程思想那些章节中深入探讨。

      在Java中,只允许单一继承,即一个子类只能有一个父类。java采用单一继承,原因有很多,其中有这几个原因:①降低代码的复杂度;②解决垃圾回收机制问题;③消除类的二义性;④类的多态中向上转型等。但是java中通过其他方式,也可以实现多重继承:①接口的多重实现,即一个类可以实现多个接口;②通过内部类,实现多重继承;

注意:①子类集成父类,在初始化子类的过程中,如果父类没有构造器,则编译器会为我们自动合成一个默认构造器,并发出对此构造器的调用;如果有不含参数的构造器,则默认调用这个无参构造器;如果只有含参的构造器,则需要在子类的构造器内,通过super显示的调用父类含参数构造器,并且在子类的构造器内是必须要做的第一件事情。

②接口。接口内的所有成员变量都自动具有static和final属性。

③抽象类和接口的区别,如下图:

五、java重载和重写

 重写和重载。“重载”是指同一样的东西在不同的地方有多种含义,在java中方法的过载可以通过形参的不同实现,这里形参的不同可以是参数类型的不同,也可以是形参个数的不同,但是不能够通过方法的返回值类型不同实现方法的重载,因为很多时候,我们是不关注方法的返回值的,并且对访问权限没有严格要求;“重写”是指它随时随地的都只有一种含义,只是原先的含义完全被后来的含义取代了,java中方法的重写一般发生在类的继承过程中,子类中的方法与父类中的方法是用相同的名字、相同的参数列表和返回类型,访问控制符使用和父类相同或者更宽,异常声明不能更加广泛。

  • 大小: 42.1 KB
  • 大小: 59 KB
  • 大小: 149.6 KB
分享到:
评论

相关推荐

    java7hashmap源码-java:Java

    运算符:算术运算符、赋值运算符、比较运算符、逻辑运算符、位运算符、三元运算符、运算符优先级 day03_基本语法.程序流程控制:顺序结构、分支结构、循环结构 顺序结构 分支结构 循环结构 break语句用于终止某个...

    Java开发技术大全(500个源代码).

    precedence.java 演示自加运算符的优先级 primeNumber.java 输出100-200之间的所有素数 ranking.java 评定成绩等级 rankingBySwitch.java 用switch语句评定成绩等级 realExample.java 演示浮点数的有效位数 ...

    21天学通Java-由浅入深

    123 7.2.2 默认的访问级别 124 7.3 什么是封装 125 7.4 最终修饰符 127 7.4.1 final修饰对象类型的成员变量 127 7.4.2 final修饰基本类型的成员变量 129 7.4.3 final修饰的局部变量 131 7.4.4 final修饰的方法 132 ...

    学通Java的24堂课

    3.6.8 运算符优先级 81 3.7 编码规范 81 3.8 照猫画虎——基本功训练 82 3.8.1 基本功训练1——合理设定变量类型 82 3.8.2 基本功训练2——变量自增运算 83 3.8.3 基本功训练3——类型转换 84 3.8.4 基本功...

    疯狂JAVA讲义

    学生提问:Java为什么要对这些数据进行缓存呢? 67 3.7.6 逻辑运算符 67 3.7.7 三目运算符 68 3.7.8 运算符的结合性和优先级 69 3.8 本章小结 70 本章练习 70 第4章 流程控制和数组 71 4.1 顺序结构 72 4.2 ...

    JAVA基础课程讲义

    运算符优先级的问题 31 自动类型转换 32 基本类型转化时常见错误和问题 33 方法 33 简单的键盘输入和输出 33 本章思考作业 34 上机操作 34 第二章(2) 控制语句 35 顺序结构 35 选择结构 35 if单选择结构 35 if-else...

    Java语言基础下载

    第一章:Java开始 1 学习目标 1 Java历史 2 Java技术概述 3 Java技术的优点 3 Java虚拟机 4 类加载器 6 Windows环境变量 8 内容总结 13 独立实践 14 第二章: 面向对象概述 15 学习目标 15 面向对象(Object Oriented...

    java初学者必看

    最近正在学习Java,也买了很多的有关Java方面的书籍,其中发现《跟我学Java》这本书,都的很不错啊,所以顺便拿电脑把这本书的目录敲了下来,与大家分享。尤其是那些和我一样初学Java的朋友们,看看哪一节对你有用,...

    Objective-C2.0程序设计

    9.1 多态:相同的名称,不同的类 9.2 动态绑定和id类型 9.3 编译时和运行时检查 9.4 id数据类型与静态类型 9.5 有关类的问题 9.6 使用@try处理异常 9.7 练习 第10章 变量和数据类型 10.1 类的初始化 10.2 作用域...

    java基础案例与开发详解案例源码全

    2.6 Java技术两种核心运行机制29 2.7 上机练习30 第3章 3.1 变量32 3.1.1 什么是变量32 3.1.2 为什么需要变量32 3.1.3 变量的声明和赋值33 3.1.4 变量应用实例33 3.2 数据的分类34 3.2.1 Java中的八种基本数据类型34...

    21天学通c++ 中文 第五版

    第1周课程简介 第1章 绪论 第2章 C++程序的组成部分 第3章 使用变量和常量 第4章 创建表达式和语句 第5章 组织成函数 第6章 理解面向对象编程 ...附录C 运算符优先级 附录D 答案 附录E 链表简介

    整理后java开发全套达内学习笔记(含练习)

    instanceof (关键字) 运算符,用于引用变量,以检查这个对象是否是某种类型。返回 boolean 值。 interface (关键字) 接口 ['intәfeis] invoke vt.调用 [in'vәuk]' ( invocation [,invәu'keiʃәn]) Iterator ...

    《Visual C# 2008大学教程 第3版》.(刘文红).[PDF]&ckook.pdf

    中文名: Visual C# 2008大学教程(第三...附录A 运算符优先级表 附录B 简单类型 附录C 数字系统 附录D ATM案例研究代码 附录E UML2的其他框图 附录F ASCII字符集 附录G Unicode 附录H 使用Visual Studio2008调试器 索引

    《由浅入深学C++-基础、进阶与必做300题》pdf格式 (完整版 带目录

    本书循序渐进地讲述了C++的基础知识、C++程序的组成及其开发过程、C++程序中的数据、表达式和语句、控制程序流程、数组与字符串、指针与引用、...、封装、继承、多态、类模板、文件流、标准模板库STL和编程实践等内容...

    java编程基础,应用与实例

    第1章 什么是Java程序设计语言 1 1.1 Java语言诞生背景 1 1.2 Java语言的特点 1 1.2.1 可移植性(universality) 1 1.2.2 安全性(security) 1 1.2.3 Java Virtual Machine(JVM) 2 1.2.4 面向对象的程序...

    JavaScript基础和实例代码

    2.7.13 运算符优先级 2.8 核心语句 2.8.1 基本处理流程 2.8.2 if条件假设语句 2.8.3 switch流程控制语句 2.8.4 for循环语句 2.8.5 while和do-while循环语句 2.8.6 使用break和continue进行循坏控制 2.8.7 with对象...

Global site tag (gtag.js) - Google Analytics