Java特性总结
1.继承(关键词:extends):(子父类)
1.提高代码的复用性。
2.让类与类之间产生了关系。有了这个关系,才有了多态的特性。
1.1变量
如果子父类中出现非私有的(private)同名成员变量时,子类要访问本类中的变量,用this,子类要访问父类中的同名变量,用super。
super的使用和this使用几乎一致。
this代表的是本类对象的引用。
super代表的父类对象的引用。
1.2 子父类中的函数
当子类出现和父类一模一样的函数时,
当子类对象调用该函数,会运行子类函数的内容。如同父类的函数被覆盖一样。
这种情况是函数的另一个特性:重写(覆盖)
当子类继承父类,沿袭了父类的功能,到子类中,但是子类虽具备该功能,但是功能的内容却和父类不一致,这时,没有必要定义新功能,而是使用覆盖特性,保留父类的功能定义,并重写功能内容。
覆盖注意事项:
1.子类覆盖父类,必须保证子类权限大于等于父类权限,才可以覆盖,否则编译失败。(不写权限修饰符则是默认权限,介于private和public之间。)
2.静态只能覆盖静态。
重载和重写:
重载:只看同名函数的参数列表。
重写:子父类中的方法名和返回类型要一模一样。(即:返回类型 方法名() 要一样)
1.3 子类中的构造函数。
在对子类对象进行初始化时,父类的构造函数也会运行,那是因为子类的构造函数默认第一行有一条隐式的语句 super();
为什么子类一定要访问父类中的构造函数。
因为父类中的数据子类可以直接获取,所有子类对象在建立时,需要先查看父类是如何对数据进行初始化的。所以子类在对象初始化时,要先访问一下父类中的构造函数。如果要访问父类中指定的构造函数,可以通过手动定义super语句的方式来指定。
注意:super语句一定要定义在子类构造函数的第一行。
结论:
子类的所有的构造函数,默认都会访问父类中空参数的构造函数。
因为子类每一个构造函数内的第一行都会有一句隐式super();
当父类中没有空参数的构造函数时,子类必须手动通过super语句形式来指定要访问父类中的构造函数。
当然:子类的构造函数第一行也可以手动指定this语句来访问本类中的构造函数。子类中至少会有一个构造函数会访问父类中的构造函数。(因为this()和super()都只能放在构造函数的第一行,所以在构造函数中只能存在其中一个。)
注意:千万不要为了获取其他类的功能,简化代码而继承。必须是类与类之间有所属关系才可以继承。所属关系 is a 。
2.final:最终。作为一个修饰符。
2.1 可以修饰类,函数,变量。
2.2 被final修饰的类不可以被继承。为了避免被继承,避免被子类重写功能。
2.3 被final修饰的方法不能被重写
2.4 被final修饰的变量是一个常量只能赋值一次,既可以修饰成员变量,也可以修饰局部变量。当描述事物时,一些数据的出现,值是固定的,那么这时为了增强阅读性,都给这些值起个名字。方便于阅读。而这个值不需要改变,所以加上final修饰。 作为常量:常量的书写规范所有字母都大写,如果由多个单词组成。单词间通过_连接。(eg: final double PI = 3.14; final int SET_ON = 1;)
2.5 内部类定义在类中的局部位置上时,只能访问该局部被final修饰的局部变量。
3. 抽象:
3.1 抽象方法一定在抽象类中。
3.2抽象方法和抽象类都必须被 abstract关键字修饰。(abstract class 类名 { abstract void 方法名(); })
3.3抽象类不可以用new创建对象。因为调用抽象方法没意义。
3.4 抽象类中的抽象方法要被使用,必须由子类重写其所有的抽象方法后,建立子类对象调用。如果子类只覆盖了部分抽象方法,那么该子类还是一个抽象类。
一般类和抽象类的异同:抽象类和一般类没有太大的不同。该如何描述事物,就如何描述事物,只不过,该事物出现了一些看不懂的东西。这些不确定的部分,也是该事物的功能,需要明确出现。但是无法定义主体。通过抽象方法来表示。
抽象类比一般类多了个抽象函数。就是在类中可以定义抽象方法。
抽象类不可以实例法。
特殊:抽象类中可以不定义抽象方法,这样做仅仅是不让该类建立对象。
4. 模版设计模式:
在定义功能时,功能的一部分是确定的,但是有一部分是不确定,而确定的部分在使用不确定的部分,那么这时就将不确定的部分暴露出去。由该类的子类去完成。
5.接口:
初期理解,可以认为是一个特殊的抽象类。当抽象类中的方法都是抽象的(abstract),那么该类可以通过接口的形式来表示。
class :用于定义类
interface:用于定义接口。接口也是一种类。可以生成class文件。
接口定义时,格式特点:
1.接口中常见定义:常量,抽象方法。接口的出现将“多继承”通过另一种形式体现出来,即“多实现”。
2.接口中的成员都有固定修饰符。
常量:public static final
方法:public abstract
记住:接口中的成员都是public的。
接口:是不可以创建对象的,因为有抽象方法(abstract)。需要被子类实现,子类对接口中的抽象方法全都重写后,子类才可以实例化。否则子类是一个抽象类。
eg: interface Inter
{
//public static final 和public abstract修饰符缺少也可以,因为接口中的成员都有固定修饰符。但是开发中最好写,增强阅读性。
public static final int SET_ON = 1;
public abstract void show();
}
//使用接口implements
class Test implements Inter
{
public void show(){} //需要重写抽象方法show,才能创建对象
}
class InterfaceDemo
{
public static void main(String[] args)
{
Test t = new Test();
System.out.println(t.SET_ON);
}
}
接口的特点:
接口是对外暴露的规则。
接口是程序的功能扩展。
接口可以用来多实现。
类与接口之间是实现关系,而且类可以继承一个类的同时实现多接口。
接口与接口之间可以有继承关系。
6.多态:
定义:某一类事物的多种存在形态。
eg:动物中猫、狗
猫这个对象对应的类型是猫类型
猫 x = new 猫();
同时猫也是动物中的一种,也可以把猫称为动物。
动物 y = new 猫();
动物是猫和狗具体事物中抽取出来的父类型。
父类型引用指向了子类型对象。
6.1.多态的体现:
父类的引用指向了自己的子类对象。
父类的引用也可以接收自己的子类对象。
eg: 父类 父类引用名 = new 子类();//类型提升。向上转型。要使用子类特有功能,需要向下转型:子类 新 子类引用名 = (子类)原父类引用名
关键字: instanceof 判断引用类型
eg: if (a instanceof Cat)//判断a是不是猫类型。
6.2.多态的前提:
必须是类与类之间有关系。要么继承,要么实现。
通常还有一个前提:子类必须覆盖(重写)。
6.3.多态的好处:
多态的出现大大的提高了程序的扩展性。
6.4.多态的弊端:
提高了扩展性,但是只能使用父类的引用访问父类中成员。
6.5在多态中非静态成员函数的特点:
在编译时期:参阅引用型变量所属的类中是否有调用的方法。如果有,编译通过,如果没有,编译失败。
在运行时期:参阅对象所属的类中是否有调用的方法。
简单总结就是:成员函数在多态调用时,编译看左边,运行看右边。
6.6在多态中成员变量的特点:
无论编译和运行,都参考左边(引用型变量所属的类。)
在多态中静态成员函数的特点:
无论编译和运行,都参考左边(static本身就可以直接调用)。
7.object:是所有对象的直接或者间接父类,传说中的上帝。
该类中定义的肯定是所有对象都具备的功能。
内部类的访问规则:
1.内部类可以直接访问外部类中的成员,包括私有。
2.外部类要访问内部类,必须建立内部类对象。
Atas ialah kandungan terperinci Java特性总结. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

AI Hentai Generator
Menjana ai hentai secara percuma.

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas

Semua orang tahu bahawa terdapat banyak versi sistem win7, seperti versi win7 ultimate, versi profesional win7, versi rumah win7, dll. Ramai pengguna terjerat antara versi rumah dan versi muktamad, dan tidak tahu versi mana yang hendak dipilih, jadi hari ini saya akan Izinkan saya memberitahu anda tentang perbezaan antara Win7 Family Meal dan Win7 Ultimate Mari kita lihat. 1. Alami Edisi Asas Rumah Berbeza menjadikan operasi harian anda lebih pantas dan mudah, membolehkan anda mengakses program dan dokumen yang paling kerap anda gunakan dengan lebih pantas dan mudah. Home Premium memberi anda pengalaman hiburan terbaik, menjadikannya mudah untuk menikmati dan berkongsi rancangan TV, foto, video dan muzik kegemaran anda. Edisi Ultimate menyepadukan semua fungsi setiap edisi dan mempunyai semua fungsi hiburan dan ciri profesional Windows 7 Home Premium.

Fahami ciri utama SpringMVC: Untuk menguasai konsep penting ini, contoh kod khusus diperlukan SpringMVC ialah rangka kerja pembangunan aplikasi web berasaskan Java yang membantu pembangun membina struktur yang fleksibel dan berskala melalui corak seni bina Model-View-Controller (MVC). aplikasi web. Memahami dan menguasai ciri utama SpringMVC akan membolehkan kami membangun dan mengurus aplikasi web kami dengan lebih cekap. Artikel ini akan memperkenalkan beberapa konsep penting SpringMVC

5g的三个特性是:1、高速率;在实际应用中,5G网络的速率是4G网络10倍以上。2、低时延;5G网络的时延大约几十毫秒,比人的反应速度还要快。3、广连接;5G网络出现,配合其他技术,将会打造一个全新的万物互联景象。

Tiada konsep kelas dalam erti kata tradisional dalam Golang (bahasa Go), tetapi ia menyediakan jenis data yang dipanggil struktur, yang melaluinya ciri berorientasikan objek yang serupa dengan kelas boleh dicapai. Dalam artikel ini, kami akan menerangkan cara menggunakan struktur untuk melaksanakan ciri berorientasikan objek dan menyediakan contoh kod konkrit. Definisi dan penggunaan struktur Pertama, mari kita lihat definisi dan penggunaan struktur. Di Golang, struktur boleh ditakrifkan melalui kata kunci jenis dan kemudian digunakan di mana perlu. Struktur boleh mengandungi atribut

Dengan perkembangan pesat Internet, bahasa pengaturcaraan sentiasa berkembang dan dikemas kini. Antaranya, bahasa Go, sebagai bahasa pengaturcaraan sumber terbuka, telah menarik banyak perhatian sejak beberapa tahun kebelakangan ini. Bahasa Go direka untuk menjadi mudah, cekap, selamat dan mudah dibangunkan dan digunakan. Ia mempunyai ciri-ciri konkurensi tinggi, penyusunan pantas dan keselamatan memori, menjadikannya digunakan secara meluas dalam bidang seperti pembangunan web, pengkomputeran awan dan data besar. Walau bagaimanapun, pada masa ini terdapat versi berbeza bahasa Go yang tersedia. Apabila memilih versi bahasa Go yang sesuai, kita perlu mempertimbangkan kedua-dua keperluan dan ciri. kepala

Sebagai bahasa pengaturcaraan yang pantas dan cekap, Golang juga digunakan secara meluas dalam bidang pembangunan web. Antaranya, perisian tengah, sebagai corak reka bentuk yang penting, boleh membantu pembangun mengatur dan mengurus kod dengan lebih baik, serta meningkatkan kebolehgunaan semula dan kebolehselenggaraan kod. Artikel ini akan memperkenalkan ciri utama dan senario aplikasi perisian tengah di Golang, dan menggambarkan penggunaannya melalui contoh kod tertentu. 1. Konsep dan fungsi middleware Sebagai komponen plug-in, middleware terletak dalam rantaian pemprosesan permintaan-respon aplikasi

Bahasa Go ialah bahasa pengaturcaraan yang dibangunkan oleh Google Ia mempunyai ciri-ciri kesederhanaan, kecekapan dan sokongan serentak, dan secara beransur-ansur telah menarik perhatian dan aplikasi yang meluas. Dalam kebanyakan kes, pembangun mungkin perlu berinteraksi dengan bahasa C atau memanfaatkan ciri bahasa C Pada masa ini, mereka perlu mempertimbangkan sama ada bahasa Go serasi dengan ciri bahasa C. Artikel ini akan memperkenalkan keserasian antara bahasa Go dan bahasa C dan menyediakan contoh kod khusus untuk menggambarkan hubungan antara mereka. Ciri bahasa Go Bahasa Go ialah bahasa pengaturcaraan yang ditaip secara statik, disusun dan disokong serentak.

LinuxGem ialah istilah biasa dalam bidang komputer, yang merujuk kepada perisian atau aplikasi yang berfungsi dengan baik pada sistem pengendalian Linux. Sistem pengendalian Linux itu sendiri ialah sistem pengendalian sumber terbuka dengan sokongan ramai pembangun dan komuniti, jadi mudah untuk mencari perisian berkuasa tinggi yang berkualiti tinggi di Linux. Walau bagaimanapun, walaupun di antara begitu banyak perisian berkualiti tinggi, masih terdapat beberapa perisian yang dipanggil "LinuxGem", yang popular di Linux dengan reka bentuk, prestasi dan fungsi yang sangat baik.
