自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Java入门基础学习

Java入门基础学习-程序员生活网-www.ryxxff.com

  • 博客(40)
  • 收藏
  • 关注

原创 java泛型通配符和类型参数的范围

本节先讲解如何限制类型参数的范围,再讲解通配符(?)。类型参数的范围在泛型中,如果不对类型参数加以限制,它就可以接受任意的数据类型,只要它是被定义过的。但是,很多时候我们只需要一部分数据类型就够了,用户传递其他数据类型可能会引起错误。例如,编写一个泛型函数用于返回不同类型数组(Integer 数组、Double 数组等)中的最大值:public<T>TgetMax(T...

2019-07-06 21:29:59 394

原创 Java泛型详解,通俗易懂只需5分钟

我们知道,使用变量之前要定义,定义一个变量时必须要指明它的数据类型,什么样的数据类型赋给什么样的值。假如我们现在要定义一个类来表示坐标,要求坐标的数据类型可以是整数、小数和字符串,例如:x = 10、y = 10 x = 12.88、y = 129.65 x = “东京180度”、y = “北纬210度”针对不同的数据类型,除了借助方法重载,还可以借助自动装箱和向上转型。我们知...

2019-07-06 21:29:56 246

原创 Java接口和抽象类的区别

类是对象的模板,抽象类和接口可以看做是具体的类的模板。由于从某种角度讲,接口是一种特殊的抽象类,它们的渊源颇深,有很大的相似之处,所以在选择使用谁的问题上很容易迷糊。我们首先分析它们具有的相同点。都代表类树形结构的抽象层。在使用引用变量时,尽量使用类结构的抽象层,使方法的定义和实现分离,这样做对于代码有松散耦合的好处。 都不能被实例化。 都能包含抽象方法。抽象方法用来描述系统提供哪些功...

2019-07-06 21:29:54 150

原创 Java接口(interface)的概念及使用

在抽象类中,可以包含一个或多个抽象方法;但在接口(interface)中,所有的方法必须都是抽象的,不能有方法体,它比抽象类更加“抽象”。接口使用 interface 关键字来声明,可以看做是一种特殊的抽象类,可以指定一个类必须做什么,而不是规定它如何去做。现实中也有很多接口的实例,比如说串口电脑硬盘,Serial ATA委员会指定了SerialATA 2.0规范,这种规范就是接口。Se...

2019-07-06 21:29:52 905

原创 Java抽象类的概念和使用

在自上而下的继承层次结构中,位于上层的类更具有通用性,甚至可能更加抽象。从某种角度看,祖先类更加通用,它只包含一些最基本的成员,人们只将它作为派生其他类的基类,而不会用来创建对象。甚至,你可以只给出方法的定义而不实现,由子类根据具体需求来具体实现。这种只给出方法定义而不具体实现的方法被称为抽象方法,抽象方法是没有方法体的,在代码的表达上就是没有“{}”。包含一个或多个抽象方法的类也必须被声明为...

2019-07-06 21:29:50 170

原创 Java静态内部类、匿名内部类、成员式内部类和局部内部类

内部类可以是静态(static)的,可以使用 public、protected 和 private 访问控制符,而外部类只能使用 public,或者默认。成员式内部类在外部类内部直接定义(不在方法内部或代码块内部)的类就是成员式内部类,它可以直接使用外部类的所有变量和方法,即使是 private 的。外部类要想访问内部类的成员变量和方法,则需要通过内部类的对象来获取。请看下面的代码:...

2019-07-06 21:29:48 188

原创 Java内部类及其实例化

在 Java 中,允许在一个类(或方法、语句块)的内部定义另一个类,称为内部类(Inner Class),有时也称为嵌套类(NestedClass)。内部类和外层封装它的类之间存在逻辑上的所属关系,一般只用在定义它的类或语句块之内,实现一些没有通用意义的功能逻辑,在外部引用它时必须给出完整的名称。使用内部类的主要原因有:内部类可以访问外部类中的数据,包括私有的数据。 内部类可以对同...

2019-07-06 21:29:46 239

原创 Java多态和动态绑定

在Java中,父类的变量可以引用父类的实例,也可以引用子类的实例。请读者先看一段代码:publicclassDemo{ publicstaticvoidmain(String[]args){ Animalobj=newAnimal(); obj.cry(); obj=newCat(); ...

2019-07-04 10:40:06 126

原创 Java final关键字:阻止继承和多态

在 Java 中,声明类、变量和方法时,可使用关键字 final 来修饰。final 所修饰的数据具有“终态”的特征,表示“最终的”意思。具体规定如下:final 修饰的类不能被继承。 final 修饰的方法不能被子类重写。 final 修饰的变量(成员变量或局部变量)即成为常量,只能赋值一次。 final 修饰的成员变量必须在声明的同时赋值,如果在声明的时候没有赋值,那么只有 一次赋值...

2019-07-04 10:40:02 175

原创 Java Object类

Object 类位于 java.lang 包中,是所有 Java 类的祖先,Java 中的每个类都由它扩展而来。定义Java类时如果没有显示的指明父类,那么就默认继承了 Object 类。例如:publicclassDemo{ // … }实际上是下面代码的简写形式:publicclassDemoextendsObject{ // … }在Java中,只有基本类...

2019-07-04 10:40:00 118

原创 Java static关键字以及Java静态变量和静态方法

static 修饰符能够与变量、方法一起使用,表示是“静态”的。静态变量和静态方法能够通过类名来访问,不需要创建一个类的对象来访问该类的静态成员,所以static修饰的成员又称作类变量和类方法。静态变量与实例变量不同,实例变量总是通过对象来访问,因为它们的值在对象和对象之间有所不同。请看下面的例子:publicclassDemo{ staticinti=10; int...

2019-07-03 22:00:00 742

原创 Java多态对象的类型转换

这里所说的对象类型转换,是指存在继承关系的对象,不是任意类型的对象。当对不存在继承关系的对象进行强制类型转换时,java 运行时将抛出 java.lang.ClassCastException 异常。在继承链中,我们将子类向父类转换称为“向上转型”,将父类向子类转换称为“向下转型”。很多时候,我们会将变量定义为父类的类型,却引用子类的对象,这个过程就是向上转型。程序运行时通过动态绑定来实现...

2019-07-03 21:59:58 289

原创 Java instanceof 运算符

多态性带来了一个问题,就是如何判断一个变量所实际引用的对象的类型 。 C++使用runtime-type information(RTTI),Java 使用 instanceof 操作符。instanceof 运算符用来判断一个变量所引用的对象的实际类型,注意是它引用的对象的类型,不是变量的类型。请看下面的代码:publicfinalclassDemo{ publicstatic...

2019-07-03 21:59:55 118

原创 Java继承中方法的覆盖和重载

在类继承中,子类可以修改从父类继承来的方法,也就是说子类能创建一个与父类方法有不同功能的方法,但具有相同的名称、返回值类型、参数列表。如果在新类中定义一个方法,其名称、返回值类型和参数列表正好与父类中的相同,那么,新方法被称做覆盖旧方法。参数列表又叫参数签名,包括参数的类型、参数的个数和参数的顺序,只要有一个不同就叫做参数列表不同。被覆盖的方法在子类中只能通过super调用。注意:...

2019-07-03 21:59:49 184

原创 Java super关键字

super 关键字与this类似,this 用来表示当前类的实例,super 用来表示父类。super 可以用在子类中,通过点号(.)来获取父类的成员变量和方法。super 也可以用在子类的子类中,Java 能自动向上层类追溯。父类行为被调用,就好象该行为是本类的行为一样,而且调用行为不必发生在父类中,它能自动向上层类追溯。super 关键字的功能:调用父类中声明为 priva...

2019-07-03 21:59:47 133

原创 Java继承的概念与实现

继承是类与类之间的关系,是一个很简单很直观的概念,与现实世界中的继承(例如儿子继承父亲财产)类似。继承可以理解为一个类从另一个类获取方法和属性的过程。如果类B继承于类A,那么B就拥有A的方法和属性。继承使用extends 关键字。例如我们已经定义了一个类 People:classPeople{ Stringname; intage; intheight; v...

2019-07-03 21:59:44 179 1

原创 Java源文件的声明规则

当在一个源文件中定义多个类,并且还有import语句和package语句时,要特别注意这些规则:一个源文件中只能有一个public类。 一个源文件可以有多个非public类。 源文件的名称应该和public类的类名保持一致。例如:源文件中public类的类名是Employee,那么源文件应该命名为Employee.java。 如果一个类定义在某个包中,那么package语句应该在源文件的...

2019-06-29 22:00:00 428

原创 再谈Java包

在Java中,为了组织代码的方便,可以将功能相似的类放到一个文件夹内,这个文件夹,就叫做包。包不但可以包含类,还可以包含接口和其他的包。目录以””来表示层级关系,例如 E:JavaworkspaceDemobinp1p2Test.java。包以”.”来表示层级关系,例如 p1.p2.Test 表示的目录为 p1p2Test.class。如何实现包通过 package 关键字可以...

2019-06-29 21:59:58 223

原创 Java包装类、拆箱和装箱详解

虽然 Java 语言是典型的面向对象编程语言,但其中的八种基本数据类型并不支持面向对象编程,基本类型的数据不具备“对象”的特性——不携带属性、没有方法可调用。 沿用它们只是为了迎合人类根深蒂固的习惯,并的确能简单、有效地进行常规数据处理。这种借助于非面向对象技术的做法有时也会带来不便,比如引用类型数据均继承了 Object 类的特性,要转换为 String 类型(经常有这种需要)时只要简单调用...

2019-06-29 21:59:00 210

原创 Java类的基本运行顺序

我们以下面的类来说明一个基本的 Java 类的运行顺序:publicclassDemo{ privateStringname; privateintage; publicDemo(){ name=“程序员生活网”; age=3; } publicstaticvoidmain(String[]args){ Demoobj=newDemo...

2019-06-29 21:58:01 266

原创 Java方法重载

在Java中,同一个类中的多个方法可以有相同的名字,只要它们的参数列表不同就可以,这被称为方法重载(methodoverloading)。参数列表又叫参数签名,包括参数的类型、参数的个数和参数的顺序,只要有一个不同就叫做参数列表不同。重载是面向对象的一个基本特性。下面看一个详细的实例。publicclassDemo{ // 一个普通的方法,不带参数 voidtest()...

2019-06-29 21:57:59 200

原创 Java this关键字详解

this 关键字用来表示当前对象本身,或当前类的一个实例,通过 this 可以调用本对象的所有方法和属性。例如:publicclassDemo{ publicintx=10; publicinty=15; publicvoidsum(){ // 通过 this 点取成员变量 intz=this.x+this.y; System.out.pri...

2019-06-29 21:57:57 254

原创 Java变量的作用域

在Java中,变量的作用域分为四个级别:类级、对象实例级、方法级、块级。类级变量又称全局级变量或静态变量,需要使用static关键字修饰,你可以与 C/C++ 中的 static 变量对比学习。类级变量在类定义后就已经存在,占用内存空间,可以通过类名来访问,不需要实例化。对象实例级变量就是成员变量,实例化后才会分配内存空间,才能访问。方法级变量就是在方法内部定义的变量,就是局部变量。...

2019-06-29 21:54:57 136

原创 Java访问修饰符(访问控制符)

Java 通过修饰符来控制类、属性和方法的访问权限和其他功能,通常放在语句的最前端。例如:publicclassclassName{ // body of class } privatebooleanmyFlag; staticfinaldoubleweeks=9.5; protectedstaticfinalintBOXWIDTH=42; publ...

2019-06-29 21:54:55 144

原创 Java类的定义及其实例化

类必须先定义才能使用。类是创建对象的模板,创建对象也叫类的实例化。下面通过一个简单的例子来理解Java中类的定义:publicclassDog{ Stringname; intage; voidbark(){// 汪汪叫 System.out.println(“汪汪,不要过来”); } void...

2019-06-29 21:54:53 177

原创 强调一下编程风格

讲完了Java的基础语法,大家就可以编写简单的程序代码了,这里有必要强调一下编程风格。代码风格虽然不影响程序的运行,但对程序的可读性却非常重要。自己编写的程序要让别人看懂,首先在排版方面要非常注意。其实每个人的编程风格、每个软件开发公司的编程风格都不一样。一个人编写的程序代码,就应该能让别人看懂,甚至是过了很长时间,自己也要看的懂,否则这个程序就成了一个死程序。编程风格是指编程时的格式...

2019-06-28 21:44:29 125

原创 Java StringBuffer与StringBuider

String 的值是不可变的,每次对String的操作都会生成新的String对象,不仅效率低,而且耗费大量内存空间。StringBuffer类和String类一样,也用来表示字符串,但是StringBuffer的内部实现方式和String不同,在进行字符串处理时,不生成新的对象,在内存使用上要优于String。StringBuffer 默认分配16字节长度的缓冲区,当字符串超过该大小时,...

2019-06-28 21:44:11 113

原创 Java数组的定义和使用

如果希望保存一组有相同类型的数据,可以使用数组。数组的定义和内存分配Java 中定义数组的语法有两种:type arrayName[];type[] arrayName;type 为Java中的任意数据类型,包括基本类型和组合类型,arrayName为数组名,必须是一个合法的标识符,[ ] 指明该变量是一个数组类型变量。例如:intdemoArray[]; int[]dem...

2019-06-28 21:43:47 102

原创 Java流程控制

Java流程控制的语法与 C/C++ 类似,也有 if…else、while、do…while、for、switch…case等,这里不再讲述具体语法,仅举例说明。输出九九乘法表(右上三角):publicclassDemo{ publicstaticvoidmain(String[]args){ inti,j; for(i=1;i<=9;i++){ fo...

2019-06-28 21:43:28 75

原创 Java运算符

Java中的运算符和C/C++相差无几。数学运算符数学运算,结果为一个数值。见下表:运算符 说明 举例 + 加法 1 + 2 – 减法 4 – 3.4 * 乘法 7 * 1.5 / 除法 3.5 / 7 % 取余 7 % 2 ++ 自增 3++ — 自减 3– ...

2019-06-28 21:43:11 81

转载 Java数据类型转换(自动转换和强制转换)

数据类型的转换,分为自动转换和强制转换。自动转换是程序在执行过程中“悄然”进行的转换,不需要用户提前声明,一般是从位数低的类型向位数高的类型转换;强制类型转换则必须在代码中声明,转换顺序不受限制。自动数据类型转换自动转换按从低到高的顺序转换。不同类型数据间的优先关系如下:低———————————————>高byte,short,char-> int -> long -...

2019-06-28 21:42:53 181

原创 Java import以及Java类的搜索路径

如果你希望使用Java包中的类,就必须先使用import语句导入。import语句与C语言中的 #include 有些类似,语法为:import package1[.package2…].classname;package 为包名,classname 为类名。例如:importjava.util.Date;// 导入 java.util 包下的 Date 类 importjav...

2019-06-27 21:26:52 402

原创 Java类库及其组织结构(Java API)

Java 官方为开发者提供了很多功能强大的类,这些类被分别放在各个包中,随JDK一起发布,称为Java类库或Java API。API(Application Programming Interface, 应用程序编程接口)是一个通用概念。例如我编写了一个类,可以获取计算机的各种硬件信息,它很强大很稳定,如果你的项目也需要这样一个功能,那么你就无需再自己编写代码,将我的类拿来直接用就可以。但...

2019-06-27 21:26:32 180

原创 Java类和对象的概念

Java是一门面向对象的编程语言,理解Java,首先要理解类与对象这两个概念。Java中的类可以看做C语言中结构体的升级版。结构体是一种构造数据类型,可以包含不同的成员(变量),每个成员的数据类型可以不一样;可以通过结构体来定义结构体变量,每个变量拥有相同的性质。例如:#include<stdio.h> intmain(){ // 定义结构体 Student stru...

2019-06-27 21:26:14 201

原创 Java开发环境的搭建(JDK和Eclipse的安装)

要进行Java开发,首先要安装JDK(Java Development Kit,Java开发工具箱)。JDK 是一系列工具的集合,这些工具是编译Java源码、运行Java程序所必需的,例如JVM、基础类库、编译器、打包工具等。不论是什么样的 Java 应用服务器,都是内置了某个版本的 JDK,因此掌握 JDK 是学好 Java 的第一步。JDK所提供的部分工具:java编译器:java...

2019-06-27 21:25:51 208

原创 Java开发环境的搭建(JDK和Eclipse的安装)

要进行Java开发,首先要安装JDK(Java Development Kit,Java开发工具箱)。JDK 是一系列工具的集合,这些工具是编译Java源码、运行Java程序所必需的,例如JVM、基础类库、编译器、打包工具等。不论是什么样的 Java 应用服务器,都是内置了某个版本的 JDK,因此掌握 JDK 是学好 Java 的第一步。JDK所提供的部分工具:java编译器:java...

2019-06-27 21:25:33 374

原创 Java的不同版本:J2SE、J2EE、J2ME的区别

1998年12月,SUN公司发布了Java 1.2,开始使用“Java 2” 这一名称,目前我们已经很少使用1.2之前的版本,所以通常所说的Java都是指Java2。Java 有三个版本,分别为 J2SE、J2EE和J2ME,以下是详细介绍。J2SE(Java 2 Platform Standard Edition) 标准版J2SE是Java的标准版,主要用于开发客户端(桌面应用软件)...

2019-06-27 21:25:16 442

原创 Java的主要就业方向

Java的就业前景如何,看培训班就知道了,以Java培训为主的达内,曾传出即将上市的消息。根据IDC的统计,在所有软件开发类人才的需求中,对JAVA工程师的需求曾达到全部需求量的50%以上。而且,JAVA工程师的薪水相对较高。通常来说,具有3~5年开发经验的工程师,年薪10万是很正常的一个工资。一些重点院校的优秀毕业生能够进入国内一流的IT企业(百度、腾讯、阿里巴巴等),年薪一般在20万左右,...

2019-06-27 21:24:59 494

原创 Java虚拟机(JVM)以及跨平台原理

相信大家已经了解到Java具有跨平台的特性,可以“一次编译,到处运行”,在Windows下编写的程序,无需任何修改就可以在Linux下运行,这是C和C++很难做到的。那么,跨平台是怎样实现的呢?这就要谈及Java虚拟机(Java Virtual Machine,简称 JVM)。JVM也是一个软件,不同的平台有不同的版本。我们编写的Java源码,编译后会生成一种 .class 文件,称为字节...

2019-06-27 21:24:36 279

原创 Java语言概述

Java语言是SUN(Stanford University Network,斯坦福大学网络公司)公司1995年推出的一门高级编程语言,起初主要应用在小型消费电子产品上,后来随着互联网的兴起,Java语言迅速崛起(Java applet 可以在浏览器中运行),成为大型互联网项目的首选语言。2009年04月20日,美国甲骨文公司74亿美元收购Sun,取得java的版权。Java 是面向对象的...

2019-06-27 21:24:11 140

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除