认识J2SE
来源:互联网 发布:淘宝卖什么快 编辑:程序博客网 时间:2024/06/06 10:25
1. J2SE的定义
J2SE:全称为Java 2 Standard Edition。Java 2平台包括:标准版(J2SE)、企业版(J2EE)和微缩版(J2ME)三个版本。
J2SE主要包括UI、集成库、语言和工具基础库、其他基础库、java虚拟机等组件。
2. 面向对象
2.1 类与对象的关系:
类是现实世界或者思维世界中的实体在计算机中的反映,它将数据以及这些数据的操作封装在一起。对象是具有类类型的变量。
类是对象的抽象,而对象是类的具体实例。类是抽象的,不占用内存,而对象是具体的,占用存储空间。类是用于创建对象的蓝图,它是一个定义包括在特定类型的对象中的方法和变量的软件模版。
2.2 面向对象实例
package 面对对象实例;// 图书一般有书名name、作者author、编码ISBNpublic class Book { private String name; private String author; private String ISBN; //利用构造方法初始化域 public Book(String name,String author,String ISBN) { this.name = name; this.author = author; this.ISBN = ISBN; } public String getName() //获得书名 { return name; } public String getAuthor() //获得作者 { return author; } public String getISBN() //获得编码 { return ISBN; }}
package 面对对象实例;public class Test{ public static void main(String[] args) { Book book = new Book("This is my book","Peter","123"); System.out.println("Book Name: "+book.getName()); }}
this的用法:
(1)this 关键字是类内部当中对自己的一个引用,可以方便类中方法访问自己的属性;
(2)可以返回对象的自己这个类的引用,同时还可以在一个构造函数当中调用另一个构造函数。
3. 动态化实例类
在面向对象的编程中,把用类创建对象的过程称为实例化。通常是使用有参数或无参数的构造方法来创建对象。其格式如下:
//有参数的情形类名 对象名 = new 类名(参数1,参数2...参数n); //例如下面这个例子Person peter = new Person("Peter","boy");//无参数的情形类名 对象名 = new 类名(); //例如下面这个例子Dog dog_1 = new Dog();
在java中,类的实例化方法:
1. 使用new操作符2. 调用Class对象的newInstance()方法3. 调用clone()方法,对现有实例的拷贝4. 通过ObjectInputStream的readObject()方法反序列化类
我们在自定义图书类这个例子中,编写了有参数的构造方法public Book(String name, String author, String ISBN)
。但如果类中没有定义构造方法,编译器便会自动添加一个无参数的构造方法。使用构造方法创建对象虽然常用,但并不灵活。因此,我们再来了解一下动态化实例类,也就是调用Class对象的newInstance()方法,通过反射创建对象。
反射 && 反射机制
JAVA反射机制是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法;对于任意一个对象,都能够调用它的任意一个方法和属性;这种动态获取信息以及动态调用对象的方法的功能称为java语言的反射机制。
如何创建动态化实例类
import java.io.File;import java.lang.reflect.Constructor;//需要引用上述两个包public class Test { public static void main(String[] args) { try { Constructor<File> constructor = File.class.getDeclaredConstructor(String.class); //获得File类的Constructor对象 System.out.println("Create File Object with reflection."); //使用反射创建File对象 File file = constructor.newInstance("C:/Users/Administrator/Desktop/11/MyFile.txt"); System.out.println("Use File Object to create MyFile.txt on desktop."); //指定了创建的路径为桌面,名称为“MyFile.txt”,这里路径可以自己设置 file.createNewFile(); //创建新的文件 System.out.println("File is created ?" + file.exists()); //验证文件是否创建成功 } catch (Exception e) { e.printStackTrace(); } }}
- 认识J2SE
- 【J2SE】认识变量
- J2SE的初认识
- J2SE核心开发实战(一)——认识J2SE
- J2SE中的序列化的认识
- 谈谈J2SE中的序列化之一个感性的认识
- 谈谈J2SE中的序列化之一个感性的认识
- 对J2SE中的序列化的一个感性的认识
- J2SE
- J2SE
- J2SE?
- J2SE
- J2SE
- J2SE
- 【J2SE】J2SE小结
- 认识
- 认识
- 认识
- 行为型模式-中介者(mediator)
- rapidjson实现将得到的Value中的值变为string
- 欢迎使用CSDN-markdown编辑器
- JAVA中断线程
- Android多线程:IntentService用法&源码分析
- 认识J2SE
- 用py2exe打包运行后出现requests.exceptions.SSLError: [Errno 2]解决办法
- redis+lua实现防刷
- Variational Inferecne
- spring框架学习(三)junit单元测试
- CCF 201703-1 分蛋糕 JAVA实现
- 多线程(一) 多线程介绍及基本使用
- java.lang.NoClassDefFoundError: org/apache/commons/pool/ObjectPool
- C++——求值顺序例子