java第一课——helloworld

安装好JDK(java development Kit)之后,就是尝试经典的”helloworld”了。
学习资料,书籍《head first – java》,视频“圣思园”张龙主讲的。

主要是由文件名与类名的一致性,引出的java中修饰符的作用域问题。

helloworld.java

public class  helloworld{
    public static void main(String[] args){
        System.out.println("hello happy world !");
    }
}

视频中,讲师演示了类名与文件名不一致时,也是可以的,他的代码如下:

helloworld.java

class  helloworld1{
    public static void main(String[] args){
        System.out.println("hello happy world !");
    }
}

可以看出不同之处在于“public”,我自己试了试,如果还是有“public”的话,编译时就会报错,如下
这里写图片描述

一说,这是修辞符的作用域的问题。
java有4种作用域 public private protected 和不写。在对这四种作用的范围解释之前,我看过有人做这样比喻,当前类比作自己,所有继承当前类的类比作子孙,同一个包下的类比作是朋友。其他包的类比成陌生人。

那么这4种作用域范围如下:

public 就是公有的,自己,朋友,子孙,陌生人都能直接访问;

private 就是私有的,除了自己睡都不能直接访问;

protected 就是受保护的,自己,朋友,子女可访问,陌生人不能直接访问;

不写就是友好型friendly,自己和朋友能访问,子女和陌生人都不能直接访问。

二说,这是一个语法,一个java文件中最多只能有一个public类与文件同名。
http://blog.itpub.net/29263789/viewspace-774703/

1、 一个java源文件中,如果有public类(包括抽象类,下同)或public接口,那么就只能有一个public类或一个public接口,不能有多个public的类或接口,当然可以有多个包可见的类或接口,即默认访问权限修饰符, 即类名前没有访问权限修饰符。 public类或接口 与 包可见的类或接口在文件中的顺序可以随意的顺序,即public类或接口可以不在第一个的位置。java源文件名必须与该public类名或public接口名相同。

2、一个java源文件中,如果既没有public类,又没有public接口,那么java源文件名没有限制。只要符合文件名的命名规范就可以,可以不与文件中任一个类或接口同名。当然也可以与其中之一同名。

3、类和接口的命名不能冲突,即同一个包中的任何一个类名或接口名都是不同的。不同包,可以名字相同,因为通过包可以把它们区分开来。

你可能感兴趣的:(Java学习)