java基础知识总结

Java分为三个体系:

  • JavaSE(J2SE)(Java2 Platform Standard Edition,java平台标准版)
  • JavaEE(J2EE)(Java 2 Platform,Enterprise Edition,java平台企业版)
  • JavaME(J2ME)(Java 2 Platform Micro Edition,java平台微型版)

Java 开发环境配置:

在"系统变量"中设置3项属性,JAVA_HOME,PATH,CLASSPATH(大小写无所谓),若已存在则点击"编辑",不存在则点击"新建"。
变量设置参数如下:
	变量名:JAVA_HOME
	变量值:C:\Program Files (x86)\Java\jdk1.8.0_91        // 要根据自己的实际路径配置
	变量名:CLASSPATH //1.5版本不需要
	变量值:.;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar;         //记得前面有个"."
	变量名:Path
	变量值:%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin;

Java语言是解释型的:

Java程序在Java平台上被编译为字节码格式(class文件,用javac编译),然后可以在实现这个Java平台的任何系统中运行。在运行时,Java平台中的Java解释器对这些字节码进行解释执行,执行过程中需要的类在联接阶段被载入到运行环境中。

编写Java程序时,应注意以下几点:

  • 源文件名:源文件名必须和类名相同。当保存文件的时候,你应该使用类名作为文件名保存。(如果文件名和类名不相同则会导致编译错误)。
  • 主方法入口:所有的Java 程序由public static void main(String args[])方法开始执行(必须是static)。

Java标识符:

关于Java标识符,有以下几点需要注意:

  • 所有的标识符都应该以字母(A-Z或者a-z),美元符($)、或者下划线(_)开始
  • 首字符之后可以是任何字符的组合(首字母不能以数字 、-等开始)
  • 关键字不能用作标识符

一个类可以包含以下类型变量:

  • 局部变量:在方法、构造方法或者语句块中定义的变量被称为局部变量。变量声明和初始化都是在- - 方法中,方法结束后,变量就会自动销毁,局部变量是在栈上分配的。局部变量没有默认值,所以局部变量被声明后,必须经过初始化,才可以使用。
  • 成员变量:成员变量是定义在类中,方法体之外的变量。这种变量在创建对象的时候实例化。成员变量可以被类中方法、构造方法和特定类的语句块访问。
  • 类变量(静态变量):类变量也声明在类中,方法体之外,但必须声明为static类型(不需实例化,可直接引用)。静态变量储存在静态存储区。经常被声明为常量,很少单独使用static声明变量。
    静态变量在程序开始时创建,在程序结束时销毁。类变量被声明为public static final类型时,类变量名称必须使用大写字母。如果静态变量不是public和final类型,其命名方式与实例变量以及局部变量的命名方式一致。

构造方法:

每个类都有构造方法。如果没有显式地为类定义构造方法,Java编译器将会为该类提供一个默认构造方法。
在创建一个对象的时候,至少要调用一个构造方法。构造方法的名称必须与类同名,一个类可以有多个构造方法。

public class Puppy{
   public Puppy(){
   }
   public Puppy(String name){
      // 这个构造器仅有一个参数:name
   }
}

源文件声明规则:

当在一个源文件中定义多个类,并且还有import语句和package语句时,要特别注意这些规则。
一个源文件中只能有一个public类,一个源文件可以有多个非public类
源文件的名称应该和public类的类名保持一致。
import语句和package语句对源文件中定义的所有类都有效。在同一源文件中,不能给不同的类不同的包声明。
类有若干种访问级别,并且类也分不同的类型:抽象类和final类等。这些将在访问控制章节介绍。
除了上面提到的几种类型,Java还有一些特殊的类,如:内部类、匿名类。

Java 基本数据类型

内置数据类型

  • byte数据类型是8位、有符号的,以二进制补码表示的整数;默认值是0;
  • short数据类型是16位、有符号的以二进制补码表示的整数;默认值是0;
    • int数据类型是32位、有符号的以二进制补码表示的整数;默认值是0;
  • long数据类型是64位、有符号的以二进制补码表示的整数;默认值0L;
  • float数据类型是单精度、32位、符合IEEE 754标准的浮点数;默认值0.0f;
  • double数据类型是双精度、64位、符合IEEE 754标准的浮点数;默认值0.0d
  • boolean数据类型表示一位的信息;默认值false;
  • char类型是一个单一的16位Unicode字符;
  • 实际上,JAVA中还存在另外一种基本类型void,它也有对应的包装类 java.lang.Void,不过我们无法直接对它们进行操作。

引用类型

  • 对象、数组都是引用数据类型。
  • 所有引用类型的默认值都是null。

常量

  • 常量指不能改变的量。 在Java中用final标志

Java 修饰符

访问修饰符

Java中,可以使用访问控制符来保护对类、变量、方法和构造方法的访问。Java支持4种不同的访问权限。
默认的,也称为default,在同一包内可见,不使用任何修饰符。
私有的,以private修饰符指定,在同一类内可见。
共有的,以public修饰符指定,对所有类可见。
受保护的,以protected修饰符指定,对同一包内的类和所有子类可见。Protected访问修饰符不能修饰类和接口,方法和成员变量能够声明为protected,但是接口的成员变量和成员方法不能声明为protected。
使用默认访问修饰符声明的变量和方法,对同一个包内的类是可见的。接口里的变量都隐式声明为public static final,而接口里的方法默认情况下访问权限为public。

访问控制和继承

请注意以下方法继承的规则:(父严子松)
父类中声明为public的方法在子类中也必须为public。
父类中声明为protected的方法在子类中要么声明为protected,要么声明为public。不能声明为private。
父类中声明为private的方法,不能够被继承。

非访问修饰符

为了实现一些其他的功能,Java也提供了许多非访问修饰符。

  • static修饰符,用来创建类方法和类变量。
  • final修饰符,用来修饰类、方法和变量,final修饰的类不能够被继承,修饰的方法不能被继承
    类重 新定义,修饰的变量为常量,是不可修改的。
  • abstract修饰符,用来创建抽象类和抽象方法。抽象类不能用来实例化对象,声明抽象类的唯一目的是为了将来对该类进行扩充。一个类不能同时被abstract和final修饰。如果一个类包含抽象方法,那么该类一定要声明为抽象类,否则将出现编译错误。抽象类可以包含抽象方法和非抽象方法。
    • 抽象方法是一种没有任何实现的方法,该方法的的具体实现由子类提供。抽象方法不能被声明成final和static。
    • 任何继承抽象类的子类必须实现父类的所有抽象方法,除非该子类也是抽象类。
    • 如果一个类包含若干个抽象方法,那么该类必须声明为抽象类。抽象类可以不包含抽象方法。
  • synchronized和volatile修饰符,主要用于线程的编程。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值