一、类与对象
类:class,例如 animal class。指代一个笼统意义上的大类
对象: object, 例如 animal class会有 ant object,dog object。对象指代大类中的小类。
如何构造 类:
如何创建对象:
source code: Animal ant=new Animal.
Animal ant=new Animal.
二、Static vs Final (静态与常量)
1.Static Attribute &Method (静态变量与方法)
静态属性
- 表示只属于类,不属于对象
- 使用时用类去调动
源代码
class Foo {
public static void method() {
System.out.println("in Foo");
}
}
class Bar extends Foo {
public static void method() {
System.out.println("in Bar");
}
}
class Test {
public static void main(String[] args) {
Foo.method();// 输出: in Foo , 使用 foo 类名调用
Bar.method();//输出:in Bar,使用 bar类名调用
}
}
2.Final
- 属于最终形态,不可以赋值
- final 方法不可以重写
- final class string 不可以继承
代码块和静态代码块的使用
-
public class User { String name; final int id=1001; static int staticnum; static final int stafinalnum=1000; {//代码块:创建对象时执行,每次创建对象都会执行 System.out.println("代码块"); } static {//静态代码块:类初次加载时执行 stafinalnum=100; System.out.println("静态代码块"); } public User(){ System.out.println("构造方法"); } public User(String name){ this.name=name; } // 静态方法 public static void getName(){ System.out.println("静态方法 "); } public void login(){ System.out.println("普通方法"); } public static void main(String[] args) { User.getName(); User user = new User(); user.login(); } }
输出:
静态代码块
静态方法
代码块
构造方法
普通方法