热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

java语言的特性有哪些

今天小编给大家分享一下java语言的特性有哪些的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参

今天小编给大家分享一下java语言的特性有哪些的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。

一.包

Java定义了一种名字空间,称之为包:package。一个类总是属于某个包,类名(比如Person)只是一个简写,真正的完整类名是 包名.类名。例如:apple 类放在包 banana 里面 完整类名是:banana.apple。

自定义包的语法:

package<   包名   >

注意:声明一个包必须写在类的第一行。

1.2 包的导入

如果要使用java中存在的包,可以在程序中使用import语句导入包。

格式如下:(注意中间有一个小点)

import<  包名  >.<  类名  >

如果要导入一个包中的多个类,可以使用"*"表示包中所有的类。如上个例子完整代码为:import banana.*。

 二.继承

继承就是子类继承父类的特征和行为,使得子类对象(实例)具有父类的实例域和方法,或子类从父类继承方法,使得子类具有父类相同的行为。

继承的作用:通过继承可以快速创建新的类,实现代码的重用,提高程序的可维护性,节省大量创建新类的时间,提高开发效率和开发质量。

java的继承语法格式如下:

[修饰符]  class 子类名 [extends 父类名]{
        //类定义部分
}

例如:banana是一个类,apple是一个类,将banana设为apple的父类

public class apple extends banana{
        //内容
}

注意!1.java中的继承为单继承,即一个子类只能有一个直接的父类。

           2.子类不能选择性继承父类;

           3.Java不支持多重继承,但一个类可以实现多个接口,从而克服单继承的缺点;

           4.构造方法不会被子类继承,但可以从子类中调用父类的构造方法。

 三:重载和重写

3.1重载(Overload)

同一个类中,同名的方法有不同的参数列表(参数类型不同,参数个数不同,甚至是参数顺序不同)即为重载,重载对返回类型无要求,可以相同,也可以不同,但不能通过返回类型是否相同来判断重载.

注意以下几点:

(1)同一类中方法名相同,参数列表不同。

(2)返回值类型不能用于区分方法的重载。

提醒:构造方法也可以实现方法的重载

3.2 重写

重写,即重新写一遍。即在子类中把父类本身具有的方法重新写一次。子类扩展了父类,子类是一个特殊的父类。子类以父类为基础,额外增加新的属性和方法。

重写的规则:

1.发生在之类与父类之间

2.父类中的私有方法不能被重写

3.重写父类方法时,访问权限不能比父类低,抛出异常不能比父类的异常范围广或抛出新的异常

4.父类有静态方法时,子类必须通过静态方法进行重写

重载与重写的区别:

1.重载发生在一个类里面

2.重写发生在父类与子类之间。

四:多态

多态指同一操作作用于不同对象,可以有不同的解释,以致产生不同的执行结果。

多态体现为父类引用变量可以指向子类对象

前提条件:必须要有子父类关系。

注意:在使用多态后的父类引用变量调用方法时,会调用子类重写后的方法。

4.1 多态的转型  

多态的转型分为向上转型向下转型两种:

向上转型:多态本身就是向上转型过的过程

使用格式:

父类类型 变量名=new 子类类型();

适用场景:当不需要面对子类类型时,通过提高扩展性,或者使用父类的功能就能完成相应的操作。

向下转型:一个已经向上转型的子类对象可以使用强制类型转换的格式,将父类引用类型转为子类引用各类型

4.2 instanceof

instanceof运算符的前一个操作数通常是一个引用类型变量,后一个操作数通常是一个类,它用于判断运算符前面的引用变量是否是运算符后面的类型或其子类型的实例。

注意!使用instanceof运算符时,需要注意instancecof运算符前面操作数的编译时,类型要么与后面的类相同,要么与后面的类具有父子继承关系,否则会引起编译失误。

以上就是“java语言的特性有哪些”这篇文章的所有内容,感谢各位的阅读!相信大家阅读完这篇文章都有很大的收获,小编每天都会为大家更新不同的知识,如果还想学习更多的知识,请关注编程笔记行业资讯频道。


推荐阅读
  • 深入解析动态代理模式:23种设计模式之三
    在设计模式中,动态代理模式是应用最为广泛的一种代理模式。它允许我们在运行时动态创建代理对象,并在调用方法时进行增强处理。本文将详细介绍动态代理的实现机制及其应用场景。 ... [详细]
  • 2017-2018年度《网络编程与安全》第五次实验报告
    本报告详细记录了2017-2018学年《网络编程与安全》课程第五次实验的具体内容、实验过程、遇到的问题及解决方案。 ... [详细]
  • 烤鸭|本文_Spring之Bean的生命周期详解
    烤鸭|本文_Spring之Bean的生命周期详解 ... [详细]
  • 深入解析 Android IPC 中的 Messenger 机制
    本文详细介绍了 Android 中基于消息传递的进程间通信(IPC)机制——Messenger。通过实例和源码分析,帮助开发者更好地理解和使用这一高效的通信工具。 ... [详细]
  • 深入解析Java多线程与并发库的应用:空中网实习生面试题详解
    本文详细探讨了Java多线程与并发库的高级应用,结合空中网在挑选实习生时的面试题目,深入分析了相关技术要点和实现细节。文章通过具体的代码示例展示了如何使用Semaphore和SynchronousQueue来管理线程同步和任务调度。 ... [详细]
  • ListView简单使用
    先上效果:主要实现了Listview的绑定和点击事件。项目资源结构如下:先创建一个动物类,用来装载数据:Animal类如下:packagecom.example.simplelis ... [详细]
  • 本文详细探讨了Java中的ClassLoader类加载器的工作原理,包括其如何将class文件加载至JVM中,以及JVM启动时的动态加载策略。文章还介绍了JVM内置的三种类加载器及其工作方式,并解释了类加载器的继承关系和双亲委托机制。 ... [详细]
  • 基于Node.js、Express、MongoDB和Socket.io的实时聊天应用开发
    本文详细介绍了使用Node.js、Express、MongoDB和Socket.io构建的实时聊天应用程序。涵盖项目结构、技术栈选择及关键依赖项的配置。 ... [详细]
  • 深入解析Java枚举及其高级特性
    本文详细介绍了Java枚举的概念、语法、使用规则和应用场景,并探讨了其在实际编程中的高级应用。所有相关内容已收录于GitHub仓库[JavaLearningmanual](https://github.com/Ziphtracks/JavaLearningmanual),欢迎Star并持续关注。 ... [详细]
  • Java项目分层架构设计与实践
    本文探讨了Java项目中应用分层的最佳实践,不仅介绍了常见的三层架构(Controller、Service、DAO),还深入分析了各层的职责划分及优化建议。通过合理的分层设计,可以提高代码的可维护性、扩展性和团队协作效率。 ... [详细]
  • 本文介绍如何从字符串中移除大写、小写、特殊、数字和非数字字符,并提供了多种编程语言的实现示例。 ... [详细]
  • 深入解析Java虚拟机(JVM)架构与原理
    本文旨在为读者提供对Java虚拟机(JVM)的全面理解,涵盖其主要组成部分、工作原理及其在不同平台上的实现。通过详细探讨JVM的结构和内部机制,帮助开发者更好地掌握Java编程的核心技术。 ... [详细]
  • springMVC JRS303验证 ... [详细]
  • Logback使用小结
    1一定要使用slf4j的jar包,不要使用apachecommons的jar。否则滚动生成文件不生效,不滚动的时候却生效~~importorg.slf ... [详细]
  • 本文详细介绍了Java编程中的基本运算符,包括算术、赋值、关系和逻辑运算符,并深入探讨了三元运算符的使用。此外,还讲解了如何使用Scanner类进行用户输入处理以及if和switch语句等流程控制结构。 ... [详细]
author-avatar
多米音乐_34396075
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有