JAVA SE (1)

1、java不使用指针,用引用,提供垃圾回收机制。
2、java语言是分布式的。支持internet应用的开发,基本的java应用编程接口中有一个网络应用编程接口(java net),提供了网络应用编程的类库。
3、java强制类型机制、异常处理、垃圾的自动收集。java的安全检查机制。
4、后缀为java的文件–java程序,在java平台(java软件和电脑系统的中介,运行在终端上的系统软件。有java se,java me和java ee三种)上被编译为体系结构重力的字节码格式(后缀为class)的文件,然后可以在实现这个java平台的任何系统中运行,运行时,java平台中的解释器对这些字节码进行解释执行(解释执行解释一句就提交给计算机执行一句,并不形成目标程序),执行过程中需要的类在连接阶段被载入到运行环境中。另外,java se包含了java web服务开发所需的类,并为java ee提供基础。
5、java语言可移植–由于它的体系结构中立性。另外,java严格规定了各个基本数据类型的长度 (每个时数据类型的长度:boolean 1个字节、byte 1个字节、char 2B、short 2B、int 4B、float 4B、long 8B、double 8B,java默认类型为int,定义为long的话在数字后面加上L,其余同理)。java系统有很强的移植性–java编译器java实现的,Java的运行环境是ANSI C实现的。
6、java语言是多线程的,多线程也是一种特殊的对象,由Thread或者其子类来创建;线程有两种方式创建:1、从Thread类派生出子类重写run方法,子类创建的对象即为线程;2、用一个类将实现了Runnable接口的对象包装成一个线程;
7、JDK和JRE:jdk,java software development kit是编写java程序必备的软件,是一个软件开发工具包,提供了一些已经封装好的java类库;jre是java程序运行时所必备的软件,面向java程序的使用者而不是开发者。若只安装了jre的话,则只能运行java程序,包括jvm标准实现和java核心类库(),包括java虚拟机、java平台核心类库和支持文件,不包含开发工具(编译器和调试器);
8、更换版本:
先安装JDK1.8版本后,想要更改JDk版本,直接去修改系统变量JAVA_HOME的话会发现不起作用:原因是安装JDK1.8版本时,会在C:\ProgramData\Oracle\Java目录中生成一些配置文件,并同时将此目录写到环境变量中的Path中,所以我们应该去把系统变量Path中的C:\ProgramData\Oracle\Java\javapath删除了,这样问题就解决了!

java程序是一系列对象的集合,对线之间通过调用彼此的方法协同工作。

注意

  1. 大小写敏感。
  2. 标识符首字母除了字母以外,还可以有" $ " 和" _ " ,首字母之后除了前三者还可以有数字。
  3. 访问控制修饰符:default、public、protect、private
  4. 非访问控制修饰符:abstract、final、static、synchronized
  5. 变量局部变量、类变量、成员变量类变量和成员变量在方法外,局部变量在方法里,局部变量的种类有形参(方法签名中定义的变量)、方法局部变量(方法内定义)、代码块局部变量(代码块内定义)。所有的变量必须在声明之后才能使用。成员变量和类变量若没有赋值,则有默认值。局部变量没有默认值,必须先声明、在赋值、最后才能使用。局部变量不属于任何类或者实例对象,被保存在所在方法的栈内存中,随方法、代码块创建的时候创建,代码块运行完后局部变量销毁。一个类中,局部变量会覆盖成员变量,访问成员变量需要this.成员变量名。
  6. 对象与引用:对象是一个具体的实例,如new Student();引用,是存放对象的地址。
  7. 数组:存储在堆内存上的对象
  8. 编译型源程序:……–> .exe --> 操作系统
  9. java源程序:…… --> .class --> 解释器 --> 操作系统
  10. 创建一个对象的时候,至少调用一个构造方法。对象是new出来的。实例化,即new一个对象。声明:声明一个对象,即对象类型和对象名;初始化:new一个对象时会调用构造方法初始化对象。 包:对类和接口进行分类。
  11. 每个编译单元(文件)只有一个public类(有的话只能有一个,也可以没有)。
  12. 由static修饰的变量是类变量,实际上就是全局变量。类变量又称为“静态变量”。实例变量又称为成员变量。两者存储的位置不同:类变量存储在方法区(共享数据区),而成员变量存在堆内存中,
  13. 在9的时候提到了new关键字。new的作用:为对象分配内存空间,在堆内存中;调用对象的构造方法;返回一个引用;
  14. 内部类:唯一的优点:可以随意访问外部类的成员而不用生成外部类对象。程序编译后生成2个.class文件,Out.class和Out$In.class。内部类共有四种成员内部类、局部内部类、匿名内部类和静态内部类成员内部类:生成内部类对象:Out.Int oi = new Out().new In()。必须现有外部类的对象才能有内部类的对象,内部类的作用就是为了访问外部类的成员变量。内部类可以拥有private、protect、public访问权限和包访问权限,就像类的成员变量一样(protect比包访问权限多一个可以在继承外部类的情况下访问。外部类只有public和包访问权限)。若内部类被static修饰,则内部类只能访问外部类中的被static修饰的成员变量,具有局限性,这样做有个好处,创建内部类对象的时候写法更简便,Out.In oi = new Out.In(),不用生成外部类的对象。若内部类被private修饰,则内部类对象必须在外部类中生成,不能再new Out().new In()。内部类还有一种表现形式:方法内部类(局部内部类的一种),就像方法中的局部变量一样,不能有3p1s修饰。即外部类的方法中定义了一个内部类,使用方式和正常的类很相似。但是,若向外部类的方法中传入参数,外部类的形参中必须使用final匿名内部类,平时用的最多。也不能用3p1s修饰。同时匿名内部类是唯一没有构造器的类。因此使用范围比较有限,大部分情况是用于接口回调。匿名内部类一般继承其他类或者实现接口,只是对继承方法的实现或者重写,并不增加额外的方法。注意:局部内部类和匿名内部类只能访问final变量
  15. 成员内部类的继承问题(很少用到):1、成员内部类的引用方式必须为Out.In。2、构造器中必须有指向外部类的引用,并且,通过这个引用调用super()。如:
Class Outer{
	Class Iner{
	
	}
}

//1、
Class InheritIner extends Outter.Iner{
	InherutIner(Outer out){
		//2、
		out.super();
	}

}
  1. javac -encoding UTF-8 .java 指定编码形式

–>JAVA SE (2)
.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值