`
- 浏览:
368024 次
- 性别:
-
Java三大特性:
封装:
抽象:处理各种问题的第一步,把具体的问题与解决问题的方法结合起来,这就是抽象的过程.
Java常见的访问控制修饰符:
Public :到处都可以访问,不受包和父子类关系的限制
默认: 只在同包内可以访问,不受父子类关系限制
Protected: 不同包的子类和同包的类中访问,这是一种继承访问。
Private:只有自己类内部能访问,其他部分无论包内外,父子类都不能访问
Final:修饰属性:常量,值不能被修改
要么在声明时候赋值,要么在构造方法中赋值,两次机会只能选取一次。
修饰方法 :final方法子类不能将其重写
修饰类:该类不能有子类
Static:修饰属性:静态属性是类所有实例共有,可以用”类名.属性”的方式访问,对于数值型变量,系统会给定初始值,不强制要求赋初始值.
方法:可以用”类名.属性”的方式访问,方法也为类的所有实例所共有
代码块 : 加载的优先级最高,甚至比主方法的加载还要早.
对于由final static共同修饰的变量,赋值的机会有两个,一是在声明的时候,二是在静态代码块中,两次机会有且只能有一次被选择.
继承:
允许存在父子类的关系,一个子类有且只有一个直接的父类(Java中的继承是类之间的单继承.)
当在内存形成类的信息绑定的时候不会出现多个交叉点,结构的清晰程度较高.Java本身的运行效率较低,只能达到C语言的五分之一.Java语言舍弃效率的完美要求,换来学习和使用的简单.
属性的遮盖: Father f = new Son(); 属性访问到的是父类的,方法访问到的是子类的.
方法的重载 :在类的内部一种方法出现多种表达方式,如参数表的不同,构造方法的重载
方法的重写:发生在父子类之间,子类方法对父类的方法有新的实现方法,但两个方法定义部分完全一致.
继承的目的: 实现代码的复用.理顺类型对象之间的结构关系.
构建一个父类的时候,要求他的子类与父类必须有理论上的确实的继承关系
代码复用的方法:
继承复用,完全的将父类非私有部分作为子类的内容,若需变化,子类只要重写父类的同名方法即可。
组合复用:选取某个类型中的一个对象的方法实现作为该类的方法实现过程,这两个类也称为理论父类和理论子类. 程序中是不出现extends关键字对两个类关系的描述的.
通过具体实例抽象出父类的过程称为泛化
通过父类来确认子类的过程称为特化.
在代码的类之间关系的设计阶段,理论上要求父子类之间没有相同的同名方法.但语法允许子类重写父类的方法.要求子类当中只有自己特有的方法和属性,其他部分与父类和其他同级子类相同的部分都从父类继承得来.
有关抽象类:
抽象类是用于描述自然界中层级较高的对象类,人们无法对一个抽象类实例化,如动物。只能用一个动物类的子类对抽象类的对象进行实例化。
抽象修饰符abstract 可以修饰类,修饰方法。
抽象类中可以定义非抽象的方法,但如果一个类中有抽象方法,则这个类必须被定义成抽象类。抽象类中有构造方法,但是没有抽象的构造方法。构造方法的存在完全是为了继承关系而存在。
与之形成对比的就是接口,接口中的所有方法要求定义成公开抽象方法,因为这些方法所表示的就是标准,标准的信息必须做到公开化,透明化,例如体育竞赛中的规则。
抽象类与接口之间的对比:接口与抽象类本质上是两个概念,但可以将接口看作是一个抽象层级比抽象类更高的特殊类。由于接口的信息中只有已知不可变值以及抽象方法,所以信息的绑定方式单一,从实现上可以满足继承但也不会出现网状的信息绑定效果,不会增加访问时的节点数。因此接口允许多继承。
对于类的内容,不允许多继承,一个子类只能有一个直接的父类,信息绑定的复杂性加上Java本身运行原理的限制,使它不能像C语言一样高效的运行,若绑定的信息复杂度较高,数据的访问过程更加复杂,影响运行效率。
抽象类就是类,接口就是接口,都处于较抽象的层级而使它们具有相近的特性。(接口可以看成是一个特殊的抽象类)
多态: 一个接口多种实现,可以理解为一种语法上的允许,表现形式多样。以下的代码表达都可以认为是Java多态性的具体表现:
IA ia = new TestIA(); 其中IA为定义的接口,TestIA为接口的实现类
Father f = new Son() 其中Father为父类,Son为子类
Animal a = new Dog() 其中Animal为抽象类,Dog为Animal类的子类.
父子类中的方法重写
一个类中的方法重载
Java中的多态基本上是由接口实现的,抽象类与子类之间的多态只占一少部分,接口是在Java中抽象层级最高的一类,其内部的定义是纯抽象的,属性的定义是公开静态常量,纯抽象的方法和常量属性构成一个标准,其所有的实现类,包括抽象类都要遵守接口中定义的规则。
Java类中的通信方式最好是以接口的形式进行值或对象的传递,如灯泡与台灯的关系。无论将何种类型的对象作为参数,只要是接口对象的一个实现类,就可以成为一个合理的参数。
将两个模块的内容以接口的方式进行通信,可以使两个模块的开发方式相对独立,不依赖于任何一个模块的已实现的信息。形成在代码设计中要求的松藕合状态。
对于多态不必要下明确的定义,只需要理解它的表现形式以及意义,代码中完全实现松藕合的接口方式通信的可能性基本为零,但要求尽量实现。
接口的存在表面上是实现一种多态语法,实际上是实现了Java中的多继承方式,一个类可以同时继承一个类,并实现另一个或多个接口,以同时获得多个类型的信息(包括属性和方法)。
其他的边缘知识点:
有关Java的垃圾回收机制:
虚拟机给程序员提供一个统一的编程接口(API),程序员只需按API中的规定进行编程。与C和C++最大的不同是,Java中不需要考虑内存的回收,虚拟机会以延时的方式对垃圾进行回收,以达到对内存空间的最大利用。
Java中有多种垃圾回收的方法,但每一中方法都只是对要回收的内容进行提醒式的说明,并非操作虚拟机进行回收.如System.gc()方法,是系统提供的回收垃圾的常见方式,但当对象的取值为null的时候,gc()方法并不是立即将内存空间释放,只是null的取值提醒虚拟机,该对象的内容可以被回收。
程序员无法控制Java虚拟机的垃圾回收时间点,只能尽到提示的责任,但多数情况下,虚拟机的垃圾回收区的自动运行能够满足系统运行的需要。
在程序运行的过程中,可以会报出与虚拟机堆栈溢出的相关信息,此类错误都是与虚拟机运行过程中的数据结构有关,是人力不能保证不发生的错误,多数情况下,程序中抛出虚拟机异常后,只需重新启动虚拟机或重新编译相对应的Java代码即可,只有少数情况需要重启PC以及其它相关部件。
命令行参数
public class Test{
public static void main(String[] args){
int n = Integer.parseInt(args[0]);
System.out.println("你输入的值是:"+n);
}
}
以上代码的红字部分称为命令行参数,我们可以在DOS环境下调试代码时给定其执行的参数,功能类似于Scanner 的对象转化过程。
分享到:
Global site tag (gtag.js) - Google Analytics
相关推荐
综上所述,Java三大特性是封装、继承和多态。理解并掌握这些特性对于学习和使用Java编程语言至关重要。通过这些特性,Java能够创建出可重用、模块化、易于维护和扩展的代码,从而让开发者能够开发出稳定、高效的应用...
总结来说,Java 三大框架项目利用Struts、Spring和Hibernate的优势,构建了一个高效的后端开发环境,实现了复杂的业务逻辑和数据管理,ItcastOA1可能是这种环境下开发的一个实际的OA系统案例。对于学习者来说,理解...
总结,Java三大框架SSH的学习不仅是掌握单个框架的技术,更是理解和应用整体解决方案的过程。对于新手来说,从基础入手,理解每个框架的核心概念,再通过实际项目练习,可以快速提升开发技能,为今后的Java Web开发...
总结来说,Java 5.0的注解特性极大地增强了代码的可读性和可维护性,减少了XML配置,简化了框架的使用。通过学习和理解注解,开发者能够更高效地利用Java生态系统中的各种工具和框架,提升开发效率和代码质量。在...
以下是对Java 8新特性的详细总结: **一、Lambda表达式** Lambda表达式是Java 8的核心特性之一,它允许将函数作为一个方法的参数,从而实现函数式编程的风格。Lambda表达式的语法如下: ```java (parameters) -> ...
Java知识体系总结 Java是一种广泛使用的面向对象的编程语言,由Sun Microsystems(现已被Oracle公司收购)于1995年推出。它以其“一次编写,到处运行”的特性闻名,适用于开发跨平台的应用程序,包括桌面应用、企业...
Java是一种广泛使用的面向对象的编程语言,其基础知识涵盖了多个方面,包括语法、面向对象特性、异常处理、多线程、I/O流、网络编程、反射技术、设计模式以及JVM等核心概念。以下是对这些知识点的详细说明: 一、...
Java的面向对象特性体现在封装、继承和多态三大原则。封装允许我们将数据和操作数据的方法封装在一个类中,隐藏实现细节;继承使得子类可以继承父类的属性和方法,实现代码复用;多态则允许同一种行为在不同对象上有...
"Java毕业设计论文总结.doc" _java 语言的出现_ Java 语言的出现是为了解决网络计算模式下的科学计算和信息处理问题,而 Java 语言和 Java 技术则是解决这一问题的最佳途径。在 1991 年,SUN 公司的 Jame Gosling,...
#### 三、JAVA三大特性 - **封装**:封装是隐藏对象的具体实现细节,并对外提供一组有限的接口来操作这些对象。通常通过将属性设为私有(private)并提供公共的 getter 和 setter 方法来实现。 - **继承**:继承...
标题中的“6个Java程序员的年度总结-精”意味着这是一份包含六个Java程序员在过去一年中关于编程工作、学习和成长的总结性文档。这些程序员可能是来自不同背景、经验水平和项目领域的专家,他们分享了他们的知识、...
- **三大特性**: - **封装性**:将对象的状态信息(属性)和行为(方法)封装起来,通过访问控制修饰符(如`private`、`protected`、`public`)限制对类成员的访问。 - **继承性**:允许子类继承父类的属性和方法...
3. Java多态:多态是面向对象的三大特性之一,它允许子类对象替换父类对象,调用父类引用时,实际执行的是子类的方法。 4. StringBuffer, StringBuilder与String的区别:String是不可变对象,每次修改都会创建新...
5. 编写Java程序时,需要注意大小写敏感、文件命名规则以及类的结构。每个公共类的文件名必须与类名一致,扩展名为.java。类由修饰符、类名、父类(如果有的话)和接口(如果实现的)组成,其中修饰符可以包括public...
"Java教学大纲总结" 一、课程名称:Java 程序设计 Java 程序设计是工科电类和管理类高年级本科生的专业课。通过本课程的学习,使学生掌握 Java 的基础知识。掌握 JAVA 的 JDK 开发环境和系统配置,能够使用面向...
#### 三、Java IO系统的关键特性 Java IO系统具有以下关键特性: 1. **单向性**:所有的流都是单向的,即一个流只能用于读或写,不能同时进行。 2. **层次结构**:Java IO系统采用层次化的结构设计,使得用户可以...
Java是一种广泛使用的面向对象的编程语言,由Sun ...以上是对Java基础知识的精华总结,涵盖了从基础语法到高级特性的主要内容。通过深入学习和实践,你将能够熟练掌握Java编程,为更复杂的项目开发打下坚实基础。