Java学习:初入Java

1.Java文件扩展名

        .class:字节码文件,通过JVM虚拟机译码执行相关程序,java的跨平台依靠的就是JVM,不同平台有不同类型的JVM。

        .java:Java源文件,存放Java源代码,一份Java源文件可能有多个类,除去内部类(匿名类),有多少个普通类就产生多少个.class文件。

2.Java数据类型

        分为基本数据类型和引用类型。基本类型有8种,而引用类型有类、接口和数组。只要有用到new的实例都是对象。基本类型中float和long要在数字后加f和l。其次,java中无%ld和%lf,格式化时候不能使用。

基本数据类型 实例
int 1

double

1.0
float 1.0f/F
byte 1
boolean true
short 1

char

'c'
long 1l/L

3.Foreach循环

  • 输入foreach可自动生成。
    for (Integer integer : arr) {
    	System.out.println(integer); 
    }

4.命令行下Java的编译运行

        输入javac命令进行编译,java命令进行运行相关类,javac要输入文件后缀,java只需输入类名。

        

5.子类和父类的继承关系 

  • 子类要继承父类使用extends关键字。
  • 子类调用父类的构造方法使用super()方法。不管是子类手动调用父类的无参构造方法,还是手动调用父类的带参构造方法,代码必须写在子类构造方法的第一行
  • 子类初始化时不会自动调用父类的带参构造方法,如果用到了父类的带参构造方法,则需要手动去调用,手动调用父类的构造方法后,子类不再自动调用父类的无参构造方法;
  • 类在无参构造方法中调用有参构造方法要使用this(参数)方法来调用。
  • 子类只能有一个父类。
  • Object 类是所有类的父类。
  • 子类拥有和父类一样方法名的方法,不能不修改参数,只修改修饰词和返回值!要修改()内参数后才能修改返回值和修饰词,此时子类的方法已是新方法。

 案例:

//这是父类
class SuperClass {

    //父类无参构造方法
    public SuperClass(){
        System.out.println("父类无参构造方法");
    }

    //父类带参构造方法
    public SuperClass(String str){
        System.out.println(str);
    }
}
//这是子类
class SubClass extends SuperClass{

    //子类无参构造方法
    public SubClass(){
        System.out.println("子类无参构造方法");
    }

    //子类带参构造方法
    public SubClass(String str){
        System.out.println(str);
    }
}
//这是测试类
public class TestMain {

    public static void main(String[] args) {
        SubClass sc1 = new SubClass();
        SubClass sc2 = new SubClass("子类带参构造方法");
    }
}

 输出:

6.初始化代码块

  案例:

class example{
{
	System.out.println("我是非静态代码块2");
}
static{
	System.out.println("我是静态代码块2");
}
}

  • 非静态代码块:

                执行多次,每次构造对象一次就执行一次。且先于构造器执行。        

  • 静态代码块:

            只执行一次。

7.多态/接口

public interface GeneralStack {
    public Object push(Object t);            //如item为null,则不入栈直接返回null。
    public Object pop();                 //出栈,如为栈为空,则返回null。
    public Object peek();                //获得栈顶元素,如为空,则返回null.
    public boolean empty();//如为空返回true
    public int size();     //返回栈中元素数量

}

        使用interface关键字定义接口,具体实现类要使用implement继承该接口且覆写该接口的方法。 一个类可以继承多个接口,实现多种方法。

8.static和final

1.static

  • static声明的成员变量为静态成员变量,也成为类变量。
  • 类变量生命周期和类相同,在整个应用程序执行期间都有效。
  • 注意静态方法不能调用非静态变量。

2.final

  • 当用final修饰一个类时,表明这个类不能被继承。
  • 当用final修饰一个方法时,表明这个方法不能被子类覆盖。
  • 当用final修饰一个变量时,如果是基本数据类型的变量,则其数值一旦在初始化之后便不能更改;如果是引用类型的变量,则在对其初始化之后便不能再让其指向另一个对象。

你可能感兴趣的:(Java学习,java,学习,开发语言)