认识J2SE_java se和jdk的关系

认识J2SE_java se和jdk的关系1. J2SE的定义 J2SE:全称为Java 2 Standard Edition。Java 2平台包括:标准版(J2SE)、企业版(J2EE)和微缩版(J2ME)三个版本。 J2SE主要包括UI、集成库、语言和工具基础库、其他基础库、java虚拟机等组件。 2. 面向对象 2.1 类与对象的关系

认识J2SE_java

1. J2SE的定义

J2SE:全称为Java 2 Standard Edition。Java 2平台包括:标准版(J2SE)、企业版(J2EE)和微缩版(J2ME)三个版本。

J2SE主要包括UI、集成库、语言和工具基础库、其他基础库、java虚拟机等组件。

2. 面向对象

2.1 类与对象的关系:

类是现实世界或者思维世界中的实体在计算机中的反映,它将数据以及这些数据的操作封装在一起。对象是具有类类型的变量。

类是对象的抽象,而对象是类的具体实例。类是抽象的,不占用内存,而对象是具体的,占用存储空间。类是用于创建对象的蓝图,它是一个定义包括在特定类型的对象中的方法和变量的软件模版。

2.2 面向对象实例

package 面对对象实例;

// 图书一般有书名name、作者author、编码ISBN
public 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_java se和jdk的关系分享到此就结束了,感谢您的阅读,如果确实帮到您,您可以动动手指转发给其他人。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://bianchenghao.cn/46490.html

(0)
编程小号编程小号
上一篇 2023-09-05
下一篇 2023-09-05

相关推荐

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注