java new对象 User user; 和 User user = null; 有什么区别
PHP中文网
PHP中文网 2017-04-18 10:32:27
0
5
702

User user;

User user = null;
这两种写法有什么区别呢?

PHP中文网
PHP中文网

认证高级PHP讲师

membalas semua(5)
洪涛

Ini bergantung pada tempat User user; muncul, mari letakkan kesimpulan dahulu:

  1. Jika ia adalah atribut (medan) objek, tiada perbezaan antara kedua-dua kaedah penulisan.

  2. Jika ia adalah pembolehubah tempatan dalam kaedah, jika tiada tempat lain dalam kaedah untuk menetapkan nilai kepada pengguna, ralat penyusunan akan berlaku.

Jika ia adalah atribut objek, pengkompil Java secara automatik akan memberikan nilai awal kepada medan semasa penyusunan (jenis asal ialah nilai lalai; jenis rujukan adalah nol). Contohnya, kod berikut:

public class TestInitialization {
    private User userA;
}

Selepas penyusunan, gunakan javap untuk melihat kod bait Bahagian merah ialah proses pengkompil memberikan nilai awal secara automatik:

Jika ia pembolehubah tempatan dalam kaedah, pengkompil tidak akan memberikan nilai awal secara automatik. User user;Pengguna pembolehubah hanya ditakrifkan, tetapi tiada ruang diperuntukkan kepada pengguna dalam memori Ia tidak dimulakan dan tidak boleh disusun User user = null;Bukan sahaja pengguna pembolehubah ditakrifkan, tetapi ruang memori juga diperuntukkan untuk pengguna, pengguna kini menunjuk ke nol.

那么问题来了`null`又是个什么鬼?
http://stackoverflow.com/questions/2707322/what-is-null-in-java
阿神

Jika pengguna ialah pembolehubah setempat: menggunakan pengguna sebelum tugasan pertama (termasuk pengamulaan kepada null) ialah ralat penyusunan

Tiada perbezaan selepas tugasan

PHPzhong

Nampaknya sama

Ty80

Tiada perbezaan, nilai permulaan lalai adalah batal

PHPzhong

Tidak= Tiada ruang dicipta untuknya dalam timbunan. Menambah =null menentukan pemegang tempat kosong

dalam tindanan.
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!