JAVA基础Q&A(持续更新)

Java 是由 Sun Microsystems 公司于 1995 年 5 月推出的 Java 程序设计语言(以下简称 Java 语言)和 Java 平台的总称。Java 这门语言现在归属于 ORACLE 这家公司门下。 Java SE 部分,Java 的标准版本。它包括 Java 最基础的一些结构,包括面向对象的一些特性等等,同时它也是 Java 技术基础和核心。Java SE又分为 Java EE(Java 的企业版) 和 Java ME (主要用于嵌入式开发).JVM 叫 Java 虚拟机,它也是整个 Java 技术的核心。Java 语言的跨平台就多亏了 JVM。JDK 叫 Java 开发工具包,没有 JDK 就没有办法进行 Java 程序的开发。JRE 叫 Java 运行环境,如果我们需要运行一个 Java 程序,就得安装 JRE。三者关系:JDK > JRE > JVM

问题:Java的implements是什么?

解答:implements是一个类,实现一个接口用的关键字,它是用来实现接口中定义的抽象方法。实现一个接口,必须实现接口中的所有方法。使用 implements 关键字可以变相的使java具有多继承的特性,使用范围为类继承接口的情况,可以同时继承多个接口(接口跟接口之间采用逗号分隔)。

问题:public abstract class PicoModelPredictionNodeextends ModelPredictionNodeimplements SparkNode, PicoNode

解答:后面写成接口主要是为了多继承,有以下几点可以注意

(1)接口可以被多重实现(implements),抽象类只能被单一继承(extends) 

(2)接口只有定义,抽象类可以有定义和实现 

(3)接口的字段定义默认为:public static final, 抽象类字段默认是”friendly”(本包可见)

问题:接口的作用

解答:接口是软件编程的规范,可以降低耦合性,换句话说,可以让某个模块或功能能够重复利用,这样只要写这功能一次代码就ok了。其他地方要用到的,全部用接口调用来实现。

问题:接口的优势

解答:1 “接口+实现”最常见的优势就是实现类和接口分离,在更换实现类的时候,不用更换接口功能。2.这对于做单元测试也非常有帮助。

问题:java中extend特性

解答:在继承关系中,父类的成员变量、局部变量、方法被隐藏被子类常常覆盖,这时需要引用父类成员变量、局部变量、方法。super.变量名,super.方法名,super.父类的构造方法;这里还引入一个关键字this的用法如果类的成员变量与局部变量重名,类的成员变量将被隐藏,如果要使用类的成员变量,需要使用this引用之。this.变量名,this.方法名,this.父类的构造方法;

继承的特性

1.子类拥有父类非private的属性,方法。

2.子类可以拥有自己的属性和方法,即子类可以对父类进行扩展。

3.子类可以用自己的方式实现父类的方法。

Java的继承是单继承,但是可以多重继承,单继承就是一个子类只能继承一个父类,多重继承就是,例如A类继承B类,B类继承C类,所以按照关系就是C类是B类的父类,B类是A类的父类,这是java继承区别于C++继承的一个特性。

4.提高了类之间的耦合性(继承的缺点,耦合度高就会造成代码之间的联系)。

问题:JAVA命名规范

解答:规范如下

1、 项目名全部小写

2、 包名全部小写

3、 类名首字母大写,如果类名由多个单词组成,每个单词的首字母都要大写。

如:public class MyFirstClass{}

4、 变量名、方法名首字母小写,如果名称由多个单词组成,每个单词的首字母都要大写。

如:int index=0;

       public void toString(){}

5、 常量名全部大写

如:public static final String GAME_COLOR=”RED”;

6、所有命名规则必须遵循以下规则:

1)、名称只能由字母、数字、下划线、$符号组成

2)、不能以数字开头

3)、名称不能使用JAVA中的关键字。

4)、坚决不允许出现中文及拼音命名。

问题:类注释

解答:1、类注释

在每个类前面必须加上类注释,注释模板如下:

/**

* Copyright (C), 2006-2010, ChengDu Lovo info. Co., Ltd.

* FileName: Test.java

* 类的详细说明

*

* @author 类创建者姓名

* @Date    创建日期

* @version 1.00

*/

问题:属性注释

解答:在每个属性前面必须加上属性注释,注释模板如下:

/** 提示信息 */

private String strMsg = null;

问题:方法注释

解答:在每个方法前面必须加上方法注释,注释模板如下:

/**

* 类方法的详细使用说明

*

* @param 参数1 参数1的使用说明

* @return 返回结果的说明

* @throws 异常类型.错误代码 注明从此类方法中抛出异常的说明

*/

问题:构造方法注释

解答:/**

* 构造方法的详细使用说明

*

* @param 参数1 参数1的使用说明

* @throws 异常类型.错误代码 注明从此类方法中抛出异常的说明

*/

问题:方法内部注释

解答:在方法内部使用单行或者多行注释,该注释根据实际情况添加。

如://背景颜色

       Color bgColor = Color.RED

问题:JAVA中public\private\protected用法

解答:1、public:public表明该数据成员、成员函数是对所有用户开放的,所有用户都可以直接进行调用。

2、private:private表示私有,私有的意思就是除了class自己之外,任何人都不可以直接使用,个人资产神圣不可侵犯嘛,即便是子女,朋友,都不可以使用。

3、protected:protected对于子女、朋友来说,就是public的,可以自由使用,没有任何限制,而对于其他的外部class,protected就变成private。

问题:java中的抽象类和final类

解答:java中的抽象类和方法

1,抽象类中可以有抽象方法,也可以没有抽象方法。

2,抽象类当然可以被继承,因为它就是用来继承的,

3,继承抽象类,若有抽象方法,则子类必须将其抽象方法实现,

4,抽象类中的非抽象方法可以被重写。

最终类和抽象类正好相反

5,加上final的类就叫最终类,加上final的方法就叫最终方法。

6,最终类中可以有最终方法也可以没有。

7,最终类不能有子类,最终方法不能被重写。

问题:Java类中方法的定义

解答:1、格式:[访问修饰符] void|返回值类型 方法名(数据类型 参数名,数据类型 参数名……);

实例:public void fastCreateDag(String name, DagBuilder builder, DagStatus status)

两种情况:

1.如果方法具有返回值,方法中必须使用关键字return返回该值,return 表达式,返回类型为该返回值的类型。 return作用: a.跳出方法 b.给出结果

2. 如果方法没有返回值,返回类型为void。注:void表示无返回值

JAVA基础Q&A(持续更新)_第1张图片

你可能感兴趣的:(JAVA基础Q&A(持续更新))