欢迎使用CSDN-markdown编辑器

来源:互联网 发布:大学生消费数据分析 编辑:程序博客网 时间:2024/05/29 15:39

JAVALreanlingNote

关于EclipesJava源文件为必需含Pulic类而且只能是一个的结论:


Java源文件的名字

Java源文件中必须出现一个和Java源文件名相同的class类,不然会发生编译错误。

代码块

Java源文件名为Say/java:

class Say2{  public static void  main(String[] args){  System.out.println("1");    }}

这里写图片描述

Java源文件中如果只含一个类,则可以无public

Java源文件名为Say.java

代码块

class Say{  public static void  main(String[] args){  System.out.println("1");    }}

运行结果

这里写图片描述

Java源文件不能含两个public类

Java源文件名为Say.java


实验三

代码块

public class Say{  public static void  main(String[] args){  System.out.println("1");    }}public class Say1{   public static void main(String[] args){    System.out.println("2");    }}

运行结果
这里写图片描述

如果含两个main方法,则运行源文件时public类中的main方法

编译成功时每一个含main类生成都生成相应的class文件

代码块

public class Say{  public static void  main(String[] args){  System.out.println("1");    }}/*public*/ class Say1{   public static void main(String[] args){    System.out.println("2");    }}

运行结果

这里写图片描述

—————————————–

猜想

JVM通过先访问Public类再能去找到main方法即存在一个由一及二的过程。只有先通过找A才能认识B的过程

实验一

代码块

public class Say{/*  public static void  main(String[] args){  System.out.println("1");    }*/}/*public*/ class Say1{   public static void main(String[] args){    System.out.println("2");    }}

运行结果

这里写图片描述


实验二

代码块

public class Say{    int i;/*  public static void  main(String[] args){  System.out.println("1");    }*/}/*public*/ class Say1{   public static void main(String[] args){        Say spoken = new Say();       spoken.i = 2;    System.out.println(spoken.i);    }}

运行结果

这里写图片描述

可以编译,同时生成了两个class文件,一个为Say.class,一个为Say1.class文件,但是Say.class文件不可运行


由以上实验结果可知:

由实验一可知即时public类里面什么都没有,也可以编译源文件运行其中的main程序,而实验二则更加具体的体现了一个寻找的过程,实验一是实验二的特殊情况。

又由实验三可知一个源文件只能有一个public类,即有且仅有一个程序的入口。

main是程序的入口,而public是源文件的入口

这样做的原因一方面是为了使程序更加整洁高效,另一方面是增加了源文件的安全性。是信息的调用呈线性化。如果一个源文件中含多个public类,必然会出现访问拥挤堵塞,各种类都可以访问必然造成信息丢失。

Others:

编译过程遇到的一些小问题总结
- 用记事本编写源文件时用ANSI方式编码不然会出现以下情况 找不到映射地址 错误编号“/u 00000”的情况
- 新对象的初始化必需在方法里面初始化

@2017 10 25 0:27
以上都是私人实验笔记,不代表Java官方

原创粉丝点击