static 关键字在java语言中的特性】的更多相关文章

​ 一,将自己注入到一个静态变量中实现静态类,如下写法 以上方法的目的是要实现一个静态类,方便用类名获取对象实例,一般情况下调用普通方法需要对象实例.这对象要么new出来,要么spring的注入如下是spring注入对象, 将对象赋值给一个静态变量后,则可以用类名先调用该类变量获取实例,再调用方法. 一般情况下static不能直接在类名前修饰,但是静态内部类可以,因此static也用于静态内部类 以下代码是内部类的作用域 /** * 1,内部类一般只为其外部类使用; * 2,内部类提供了某种进入…
Java语言中的面向对象特性 (总结得不错) [课前思考]  1. 什么是对象?什么是类?什么是包?什么是接口?什么是内部类?  2. 面向对象编程的特性有哪三个?它们各自又有哪些特性?  3. 你知道java语言在面向对象编程方面有何独特的特点吗? 难点:  1. 理解方法重载和方法重写,不要混淆了两者的使用.  2. 类变量和类方法的使用.  3. 接口的使用. 3.1 面向对象技术基础 http://hovertree.com/menu/java/ 3.1.1 面向对象的基本概念  面向对…
Java语言中的面向对象特性(总结得不错) [课前思考] 1. 什么是对象?什么是类?什么是包?什么是接口?什么是内部类? 2. 面向对象编程的特性有哪三个?它们各自又有哪些特性? 3. 你知道java语言在面向对象编程方面有何独特的特点吗? 难点: 1. 理解方法重载和方法重写,不要混淆了两者的使用. 2. 类变量和类方法的使用. 3. 接口的使用. 3.1 面向对象技术基础 3.1.1 面向对象的基本概念 面向对象的基本思想 面向对象是一种新兴的程序设计方法,或者是一种新的程序设计规范(pa…
面向对象的基本特征 1.封装性 封装性就是把对象的属性和服务结合成一个独立的相同单位,并尽可能隐蔽对象的内部细节,包含两个含义: ◇ 把对象的全部属性和全部服务结合在一起,形成一个不可分割的独立单位(即对象). ◇ 信息隐蔽,即尽可能隐蔽对象的内部细节,对外形成一个边界[或者说形成一道屏障],只保留有限的对外接口使之与外部发生联系. 封装的原则在软件上的反映是:要求使对象以外的部分不能随意存取对象的内部数据(属性),从而有效的避免了外部错误对它的"交叉感染",使软件错误能够局部化,大大…
一.this关键字,使用的情形,以及如何使用. 1.使用的情形 类中的方法体中使用this  --初始化该对象 类的构造器中使用this --引用,调用该方法的对象 2.不写this,调用 只要方法或者构造器中  不存在成员变量与局部变量同名的情况,可直接不写this 否则方法中或构造器中使用的就是局部变量 3.static 静态方法不能调用this,不能调用任何非static修饰的成员变量 或者方法 二.java方法中  参数传递特性 1.基本数据类型--实际是新增变量,并赋值而已   不过代…
在Java语言中,有一些相对生僻的知识,平时用的机会可能不是很多,但如果不了解不掌握这些知识点的话,也可能会掉入陷阱之中,今天我们就来初步梳理一下: 1. goto是java语言中的关键字. "臭名昭著"."十恶不赦"的goto竟然是java中的关键字!没错,参看下图中的关键字列表,goto赫然在列: 虽然goto是java中的关键字,但它没有在java中使用,如果我们需要类似跳转的功能,可以使用break关键字,比如,如果要求在满足某种条件时跳出整个两重循环,可以…
近来由于本人要介入android平台的开发,所以就买了本JAVA语言的书学习.学习一段时间来,我的感觉是谭浩强就是厉害,编写的<C编程语言>系列丛书不愧是经典.书中对C语言的介绍既系统又全面.几乎C语言规范的每一个技术细节都可以介绍到,而且全书给人的感觉就像做数学证明题,系统性很强.而反观JAVA语言方面的书籍,可能是本人看得不多,感觉介绍得都不全面,并且没有系统性,许多规范细节往往简单介绍一下,然后给个程序事例就草草结束了,让人不容易理解,更有些细节扎根就没有涉及到.这种感觉就像大学里的英语…
Java语言中除了非常重要的跨平台特性外,还有如下几个关键特性: ●  语法简单易学 Java语言的语法简单明了,容易掌握,而且是纯面向对象(OOP)的语言,Java语言的简单性主要体现在以下几个方面: 语法规则和C++类似.从某种意义上讲,Java语言是由C和C++语言转变而来的,所以C程序设计人员可以很容易地掌握Java语言的语法.(C和C++属于高级语言,是最接近人类的语言,而不是像机器码和汇编语言那样生涩难以理解的语言) Java语言对于C++进行了简化和提高.例如,Java使用接口取代…
Java语言中的异常处理包括声明异常.抛出异常.捕获异常和处理异常四个环节.   throw用于抛出异常.   throws关键字可以在方法上声明该方法要抛出的异常,然后在方法内部通过throw抛出异常对象.   try是用于检测被包住的语句块是否出现异常,如果有异常,则抛出异常,并执行catch语句.   cacth用于捕获从try中抛出的异常并作出处理.   finally语句块是不管有没有出现异常都要执行的内容.…
package review;/*12:43 2019/7/21*/ import model.AnotherClass; import model.OneClassMore; import model.SomeClass; import java.lang.reflect.Constructor; import java.lang.reflect.Field; import java.lang.reflect.InvocationTargetException; import java.lan…
正则表达式是什么? 正则表达式是一种强大而灵活的文本处理工具.初学正则表达式时,其语法是一个难点,但它确实是一种简洁.动态的语言.正则表达式提供了一种完全通用的方式,能够解决各种字符串处理相关的问题:匹配.选择.编辑以及验证.一般来说,正则表达式就是以某种方式来描述字符串. 日常例子 在文本中查找“halu126”,我们通常会在查找框中输入“halu126”,这就是一个最简单的正则表达式的例子,使用精确的匹配这样的字符串,如果我 们即想在文本中找到“halu126”,又想找到“Halu126”,…
从去年年中,开始学习Java,主要是维护公司用Java编写的服务器软件.目前,该服务器软件遇到一个问题,在下载大文件时,如果同时下载的用户很多, 服务器软件工作会出现异常,有的用户无法下载.服务器硬件基本上都是多核处理器,所以,如果能在Java语言中使用并行编程技术,使用OpenMP,可能 会提高服务器软件的性能. 今天,测试了一下,Java语言中也可以使用OpenMP.以下是详细测试过程: 1. 下载jomp1.0b.jar https://www2.epcc.ed.ac.uk/computi…
Java语言的三大特性 1.封装 1.1  概念: 封装也成为信息异常,隐藏对象的属性和实现细节,仅对外公开接口(外部不可以直接看到对象的属性细节并且不能直接更改属性的值,只能通过方法来读取或更改属性的值,无法改变固有结构),控制在程序中属性的读和修改的访问级别.将抽象得到的数据和行为(或功能)相结合,形成一个有机的整体,也就是将数据与操作数据的源代码进行有机的结合,形成"类",其中数据和函数都是类的成员.封装的目的是增强安全性和简化编程,使用者不必了解具体的实现细节,而只是要通过外部…
一个Java应用有很多类,但是有些类,并不希望被其他类使用.每个类中都有数据成员和方法成员,但是并不是每个数据和方法,都允许在其他类中调用.如何能做到访问控制呢?就需要使用访问权限修饰符. Java语言中的访问权限修饰符有4种,但是仅有3个关键字,因为不写访问权限,在Java中被称为默认权限,或同包权限,本文中以(default)代替.下面按照权限从小到大的顺序对4中访问权限分别介绍. 1.私有权限(private) private可以修饰数据成员,构造方法,方法成员,不能修饰类(此处指外部类,…
JAVA语言中的修饰符 -----------------------------------------------01----------------------------------------------- 类,方法,成员变量和局部变量的可用修饰符 访问控制级别分类: 公开级别,受保护级别,默认级别,私有级别 --------------------------------------------------02-------------------------------------…
谈到final关键字,想必很多人都不陌生,在使用匿名内部类的时候可能会经常用到final关键字.另外,Java中的String类就是一个final类,那么今天我们就来了解final这个关键字的用法. 一.final关键字的基本用法 在Java中,final关键字可以用来修饰类.方法和变量(包括成员变量和局部变量).下面就从这三个方面来了解一下final关键字的基本用法. 1.修饰类   当用final修饰一个类时,表明这个类不能被继承.也就是说,如果一个类你永远不会让他被继承,就可以用final…
static 修饰符能够与变量.方法一起使用,表示是“静态”的. 静态变量和静态方法能够通过类名来访问,不需要创建一个类的对象来访问该类的静态成员,所以static修饰的成员又称作类变量和类方法.静态变量与实例变量不同,实例变量总是通过对象来访问,因为它们的值在对象和对象之间有所不同. 请看下面的例子: public class Demo { static int i = 10; int j; Demo() { this.j = 20; } public static void main(Str…
static 修饰符能够与变量.方法一起使用,表示是“静态”的. 静态变量和静态方法能够通过类名来访问,不需要创建一个类的对象来访问该类的静态成员,所以static修饰的成员又称作类变量和类方法.静态变量与实例变量不同,实例变量总是通过对象来访问,因为它们的值在对象和对象之间有所不同. 请看下面的例子: public final class Demo { static int i = 10; int j; Demo() { this.j = 20; } public static void ma…
2017/6/30 转载写明出处:http://www.cnblogs.com/daren-lin/p/anonymous-classes-and-lambda-expressions-in-java.html 本来在查看官方文档中的collection介绍,介绍到如何遍历(traverse)一个容器时提到一个方法是聚合操作(Aggregate Operations),感觉这个写法比较简洁,而且从来没接触过,于是进一步了解.而为了了解Aggregate Operations,必须复习总结一下本文…
Java中理论说是一个字符(汉字 字母)占用两个字节. 但是在UTF-8的时候 new String("字").getBytes().length 返回的是3 表示3个字节 作者:RednaxelaFX 链接:https://www.zhihu.com/question/27562173/answer/37188642 来源:知乎 著作权归作者所有.商业转载请联系作者获得授权,非商业转载请注明出处. 题主要区分清楚内码(internal encoding)和外码(external en…
Java采用包结构来组织和管理类和接口文件.本文介绍Java语言类库中几个常用的包,因为这几个包在软件开发与应用中经常需要用到,其中有些包是必要的.若是离开它,还真不能做事情了. 第一个包:java.lang包.     该包提供了Java语言进行程序设计的基础类,它是默认导入的包.该包里面的Runnable接口和Object.Math.String.StringBuffer.System.Thread以及Throwable类需要重点掌握,因为它们应用很广.   第二个包:java.util包.…
什么是平台 Java是可以跨平台的编程语言,那么首先我们需要知道什么是平台,通常我们把CPU与操作系统的整体称为平台. CPU大家都知道,是计算机的大脑,它既负责思维运算,又负责计算机中各种零部件的命令控制.CPU的种类非常多,目前我们使用的主流的CPU是由Inter和AMD公司生产的各种CPU.这些CPU使用相同或不同的指令集,指令集就是CPU中用来计算和控制计算机系统的一套指令的集合.指令集又分为精简指令集和复杂指令集,每种CPU都有其特定的指令集.开发应用程序,首先要知道程序在什么CPU上…
今天在项目中改领导要求的代码表现的时候发现了一个很有趣的问题. 但是的代码情况类似如下: 1 2 Integer test1 = null; System.out.println("test1 = " + (test1+1)); 看到代码后,这样在test1为null的情况下,那么打印语句肯定会抛空指针异常的,随即我修改了代码,代码像下面看到的这样: 1 2 Integer test1=null; System.out.println("test1 = " + (t…
1.面向对象的三大特性 面向对象的三大特性主要包括:继承.封装.多态 (1)继承:就是指子类(导出类)获得了基类的全部功能(所有的域和方法).  注:在子类中,想要调用基类的方法可以使用“super.方法名”来调用. 术语:继承是一种联结类的层次模型,并且允许和鼓励类的重用,它提供了一种明确表述共性的方法.对象的一个新类可以从现有的类中派生,这个过程称为类继承.新类继 承了原始类的       特性,新类称为原始类的派生类(子类),而原始类称为新类的基类(父类).派生类可以从它的基类那里继承方法…
转载声明: 本文转载至:http://swiftlet.net/archives/1950 协变和逆变指的是宽类型和窄类型在某种情况下的替换或交换的特性.简单的说,协变就是用一个窄类型替代宽类型,而逆变则用宽类型覆盖窄类型. 协变 在Java中协变的例子非常常见,例如,面向对象的多态,以及数组的协变特性,下面看一下协变的例子: public class Test { public static void main(String[] args) { Number num1 = new Intege…
一.在java中提供的一些修饰符,这些修饰符可以修饰类.变量和方法,在java中常见的修饰符有:abstract(抽象的).static(静态的).public(公共的).protected(受保护的).private(私有的).synchronized(同步的).native(本地的).transient(暂时的).volatile(易失的).final(不可改变的) 二.修饰顶层类的修饰符包括abstract.public和final,而static.protected和private不能修…
1.标识符包.类.方法.参数和变量的名称.大小写字母.数字._和$符号的组合,不以数字开始,不能使关键字,不能包括分隔符和换行.(严格区分大小写,最大长度255个字符) 2.字面量  某种类型的值(具体的值) 3.注释不能执行的文字,多用于解释,有单行注释//...,多行注释/*...*/和文档注释/**...*/ 4.分隔符分号 → 用于表示一个语句的结束.如a=1;b=2;空格 → 用户分开书写各标识符.关键字等.如int a小数点 → 用户链接对象与成员关系.表示...中的,如System…
Java提供了两类主要的异常:runtime exception和checked exception.所有的checked exception是从java.lang.Exception类衍生出来的,而runtime exception则是从java.lang.RuntimeException或java.lang.Error类衍生出来的. 它们的不同之处表现在两方面:机制上和逻辑上. 一.机制上 它们在机制上的不同表现在两点:1.如何定义方法;2. 如何处理抛出的异常.请看下面CheckedExc…
Java提供了两类主要的异常:runtime exception和checked exception.所有的checked exception是从java.lang.Exception类衍生出来的,而runtime exception则是从java.lang.RuntimeException或java.lang.Error类衍生出来的. 它们的不同之处表现在两方面:机制上和逻辑上. 一.机制上  它们在机制上的不同表现在两点:1.如何定义方法;2. 如何处理抛出的异常.请看下面CheckedEx…
实参:如果声明方法时包含来了形参声明,则调用方法时必须给这些形参指定参数值,调用方法时传给形参的参数值也被称为实参. Java的实参值是如何传入方法?这是由Java方法的参数传递机制来控制的,Java里方法的参数传递方式只有一种:值传递.所谓值传递,就是将实际参数的副本(复制品)传入方法内,而参数本身不会收到任何影响. 一.参数类型是原始类型的值传递 下面通过一个程序来演练 参数类型是原始类型的值传递的效果: public class ParamTransferTest { public sta…