1、Java的特点

简单易学、安全性、平台无关性、面向对象、分布式、可靠性、支持多线程、支持网络编程、编译和解释并存

2、类与对象

含义:类就是具备某些共同特征的实体的集合,它是一种抽象的数据类型,它是对所具有相同特征实体的抽象。在面向对象的程序设计语言中,类是对一类“事物”的属性与行为的抽象。

对象就是一个真实世界中的实体,对象与实体是一一对应关系的,意思就是现实世界的每一个实体都是一个对象,所以对象是一个具体的概念。

类是对象的集合,对象是类的实例;对象是通过new className产生的,用来调用类的方法;类的构造方法 。

类与对象的区别:1,类是一个抽象的概念,它不存在于现实中的时间/空间里,类只是为所有的对象定义了抽象的属性与行为。就好像“Person(人)”这个类,它虽然可以包含很多个体,但它本身不存在于现实世界上。

  2,对象是类的一个具体。它是一个实实在在存在的东西。

  3,类是一个静态的概念,类本身不携带任何数据。当没有为类创建任何对象时,类本身不存在于内存空间中。

  4,对象是一个动态的概念。每一个对象都存在着有别于其它对象的属于自己的独特的属性和行为。对象的属性可以随着它自己的行为而发生改变。

3、SE、ME、EE的区别

Java

Java是一门编程语言。Java分为三大版本,SE即标准版,包含了Java核心类库,主要用来开发桌面应用;EE即企业版,包含SE,又有扩展部分(Servlet,JDBC等),主要用来开发分布式网络程序;ME即微型版,包含了SE中部分类库,又有自己扩展部分,主要用来做移动类、嵌入式开发。

JavaEE

JavaEE(JavaPlatform,EnterpriseEdition)。这个版本以前称为J2EE。企业版本帮助开发和部署可移植、健壮、可伸缩且安全的服务器端Java应用程序。JavaEE是在JavaSE的基础上构建的,它提供Web服务、组件模型、管理和通信API,可以用来实现企业级的面向服务体系结构(service-orientedarchitecture,SOA)和Web2.0应用程序。

JavaSE

JavaSE(JavaPlatform,StandardEdition)。JavaSE以前称为J2SE。它允许开发和部署在桌面、服务器、嵌入式环境和实时环境中使用的Java应用程序。JavaSE包含了支持JavaWeb服务开发的类,并为JavaPlatform,EnterpriseEdition(JavaEE)提供基础。

JavaME

JavaME(JavaPlatform,MicroEdition)。这个版本以前称为J2ME。JavaME为在移动设备和嵌入式设备(比如手机、PDA、电视机顶盒和打印机)上运行的应用程序提供一个健壮且灵活的环境。JavaME包括灵活的用户界面、健壮的安全模型、许多内置的网络协议以及对可以动态下载的连网和离线应用程序的丰富支持。基于JavaME规范的应用程序只需编写一次,就可以用于许多设备,而且可以利用每个设备的本机功能。

JavaWeb

JavaWeb是指使用Java体系开发网站类应用,JSP属于JavaWeb范畴,JSP可以简单看作是前端页面嵌入Java代码,会被容器编译成Servlet,然后Servlet会输出HTML代码,最终成为我们看到的页面。

以上就是他们之间的区别了,希望对大家有所帮助。想了解更多Java知识,欢迎关注小千,后期继续分享更多Java知识。

4、jdk

Java SE可以分为四个部分: JVM、 JRE、JDK和Java语言。JDK是Java Development Kits(Java开发工具包)的缩写,是一-个编写Java Application应用程序和Applet 小程序的程序开发环境,其中包括一些Java开发工具和Java的核心类库(Java API)等,是 所有Java开发工具的基础。JRE(Java Runntime Environmene-JRE)与 JDK的关系是: JRE 是个运行环境,JDK 是个开发环境。JRE不包含开发工具,如编译器、调试器和其他工具等,而JDK包含了JRE以及开发过程中需要的一-些工具程序,因此安装JDK后除了可以编辑Java程序外,还可以运行Java程序。因此编写Java程序时需要JDK,而运行Java程序时需要JRE。

5、MAX_VALUE

MAX_VALUE - Static variable in class java.lang.Byte

A constant holding the maximum value a byte can have, 27-1.

MAX_VALUE - Static variable in class java.lang.Character

The constant value of this field is the largest value of type char, '\uFFFF'.

MAX_VALUE - Static variable in class java.lang.Double

A constant holding the largest positive finite value of type double, (2-2-52)·21023.

MAX_VALUE - Static variable in class java.lang.Float

A constant holding the largest positive finite value of type float, (2-2-23)·2127.

MAX_VALUE - Static variable in class java.lang.Integer

A constant holding the maximum value an int can have, 231-1.

MAX_VALUE - Static variable in class java.lang.Long

A constant holding the maximum value a long can have, 263-1.

MAX_VALUE - Static variable in class java.lang.Short

A constant holding the maximum value a short can have, 215-1.

MAX_VALUE - Static variable in class java.time.Year

The maximum supported year, '+999,999,999'.

MAX_VALUE - 类 java.lang 中的静态变量。字节

一个常量,保存 a 可以具有的最大值,27-1。byte

MAX_VALUE - 类 java.lang 中的静态变量。字符

此字段的常量值是 类型 为 的最大值。char'\uFFFF'

MAX_VALUE - 类 java.lang 中的静态变量。

一个保持类型的最大正有限值的常量,(2-2-52)·21023。double

MAX_VALUE - 类 java.lang 中的静态变量。

一个保持类型的最大正有限值的常量,(2-2-23)·2127。float

MAX_VALUE - 类 java.lang 中的静态变量。整数

一个常量,保存一个可以具有的最大值,231-1。int

MAX_VALUE - 类 java.lang 中的静态变量。

一个常量,保存 a 可以具有的最大值,即 263-1。long

MAX_VALUE - 类 java.lang 中的静态变量。

一个常量,保存 a 可以具有的最大值,215-1。short

MAX_VALUE - 类 java.time 中的静态变量。

6、三目运算符

1、三目运算符:又称之为三元运算符

2、格式:(关系表达式)?表达式1:表达式2;

3、如果关系表达式的结果为true,运算后的结果是表达式1;

4、如果关系表达式的结果为false,运算后的结果是表达式2;

7、switch

Java中Switch支持byte、short、char、int四种基本类型,在JDK1.5中支持了枚举类型以及byte、short、char、int四种基本数据类型的包装类,在JDK1.7中支持了String类型,不支持long类型以及long的包装类。

8、abstract与static、final、private

Java抽象类(abstract)与三个修饰符(private, static, final)_我为露露上王者的博客 

9、静态代码块

(1)语法格式:

static{

java语句;

}

(2)静态代码块在类加载时执行,并且只执行一次。

(3)静态代码块在一个类中可以编写多个,并且遵循自上而下的顺序依次执行。

(4)静态代码块的作用是什么?怎么用?用在哪儿?什么时候用?

-----这当然和具体的需求有关,例如项目中要求在类加载的时刻/时机执行代码完成日志的记录。那么这段记录日志的代码就可以编写到静态代码块当中,完成日志记录。

-----静态代码块是java为程序员准备一个特殊的时刻这个特殊的时刻被称为类加载时刻。若希望在此刻执行一段特殊的程序,这段程序可以直接放在静态代码块当中。

10、构造器

1、构造器是一个方法,也叫作构造方法。每创建一个类,系统会自动给这个类添加一个无参构造器,并且是隐藏的。构造器的特点:

(1)构造器是可以用来创建对象的;

(2)构造器的名称和类名相同;

(3)构造器没有返回值,void也不写;

(4)当在类中自定义了其他有参构造器,默认分配的无参构造器就会被覆盖,如果还需使用无参构造器就需要自己创建。所以最好在每一个类中都写一个无参构造器,要不然可能会出错。

2、 构造器的作用:不是为了创建对象的,因为在调用构造器之前,这个对象就已经创建好了,并且属性有默认的初始化的值,调用构造器的目的是为了给属性进行赋值操作的。

3、构造器和方法的区别:

(1)构造器没有方法的返回值类型;

(2)构造器方法体内部不能有return语句;

(3)构造器的名字必须和类名一样。

11、static为什么不能与this与super连用

static方法和类的实例(对象)是两码事,它只在类装载的时候(即编译的时候或者javac命令的时候)初始化,被称作类级变量(属于类);而类的实例是在程序运行的时候(即命令的时候)初始化,被称作对象级变量(属于对象);

this表示这个类的当前实例,super表示父类的当前实例,static是属于类的,this是类的一个对象,当然调用了不了他,

static太牛了,只有类名可以调用它,static叫静态方法,也叫类方法,就是在程序启动的时候,就会为这个方法分配一块内存空间,所以什么时候都可以调用这个方法。

所以,静态方法里不能调用非静态方法,除非你先实例化那个类。如果在static修饰的方法中使用this关键字,而这个关键字就无法指向合适的对象;所以我们也说,静态成员不能直接访问非静态成员;jvm有类加载器,第一次加载类时执行类中的static域,jvm会专门划分一个内存区域给static程序块,可以成为静态区,属于这个类。this指针是指向类的对象,在实例化对象时jvm会在堆区分配内存给一个具体的对象,this指针指向这个对象。而类中的static域始终是在静态区分配内存,this指向堆区,所以不能调用。static是属于类的。this是对象指针

12、线程的生命周期

java类和对象的区别是什么 java的类和对象的区别_java

13、io流体系

java类和对象的区别是什么 java的类和对象的区别_Java_02