JAVA和Python的類的異同
同
- 都有類變量,Java中也叫靜態變量
- 都有構造函數
- 都有實例方法
異
- 語法寫的時候Python class名稱后面帶(),而Java聲明類需要指定類的類型
- java中的實例變量需要聲明,而Python中不用聲明直接在構造函數中用self.name指定就可以了
- python貌似沒有類方法
- 聲明一個對象的時候Java 在聲明一個新的對象的時候,先執行類變量的加載,如果有父類,先加載父類的變量;然后執行實例變量的加載;然后執行構造函數,如果父類有默認的構造函數,先執行父類的構造函數,然后再執行子類的構造函數 如果父類不存在默認的構造方法,則子類必須通過super調用父類的構造方法 |||||||||||python不會默認執行父類的構造方法,除非指定super().init()
- Java中.java的名字和該文件中的類必須是同名的 例如Car.java 中必須有一個pulic class Car;python中文件名和文件中類的名字不用對應,例如my_car.py中可以寫一個class Car(),並且一個.py中文件中可以出現多個並列的類
- python中一個類可以作為實例變量
記錄
1.在pyhon中的一個.py文件導入另外一個類 from .py import ClassName
JAVA和Python並發的異同
Java
1.Java實現多線程
①繼承Thread
public class HelloThread extends Thread {
@Override
public void run() {
System.out.println("hello");
} }
實現:
public static void main(String[] args) {
Thread thread = new HelloThread();
thread.start();
}
②繼承Runnable 由於Java一個類最多只能有一個父類,這時候可以繼承Runnable接口
public class HelloRunnable implements Runnable {
@Override
public void run() {
System.out.println("hello");
} }
實現:
public static void main(String[] args) {
Thread helloThread = new Thread(new HelloRunnable());
helloThread.start();
}