1. 程式人生 > >Java中沒有抽象方法的抽象類

Java中沒有抽象方法的抽象類

好久沒寫過部落格了,最近一段時間確實是太忙了,忙於各種瑣碎的事情。然後突然想寫點東西,都不知道要寫什麼了,於是就隨便寫一點吧。

抽象類中可以沒有抽象方法,但有抽象方法的一定是抽象類,比如常見的有HttpServlet類。

但是抽象類是不能被例項化的,即使它沒有抽象方法。


沒有抽象方法的抽象類的價值在於:例項化了沒有意義,因為類已經把方法都實現了,而且它不需要通過不同的物件來儲存不同的狀態。


這種場景更多的出現在各種工具類中,如果它的所有方法都是靜態的,那麼把它定義為抽象的,會從機制上防止例項化。

相關推薦

Java沒有抽象方法抽象

好久沒寫過部落格了,最近一段時間確實是太忙了,忙於各種瑣碎的事情。然後突然想寫點東西,都不知道要寫什麼了,於是就隨便寫一點吧。 抽象類中可以沒有抽象方法,但有抽象方法的一定是抽象類,比如常見的有Ht

Java接口和抽象的比較

系列 分享 space 日誌信息 pub 指向 相關 最好的 就會 Java中接口和抽象類的比較-2013年5月寫的讀書筆記摘要 1. 概述 接口(Interface)和抽象類(abstract class)是 Java 語言中支持抽象類的兩種機制,是

JAVA接口與抽象

rac 構造 轉換 希望 就是 pub 成員變量 類型 規則 抽象類總結 抽象類的概念:是使用關鍵字abstract修飾的類就是抽象類; 抽象類的產生:當多個不能相互繼承的類具有相同的功能時,就需要將共同的信息向上抽取,放到公共的父類中;如果公共的父類只能描述所有子類都

如何在Java選擇介面和抽象

什麼是抽象類? 摘要意味著某些東西不是完全具體的 - 它只是一個想法或某事的要點。因此,當我們討論抽象類時,它意味著一個本身沒有具體實現的類。這只是為其他具體類建立的結構或指南。我們可以說抽象類是具體類的靈魂。這就是我們“擴充套件”抽象類的原因。抽象類應該只有那些屬性和方法,沒有它們就不能存在具體的類。

沒有抽象方法,可以申明為抽象方法嗎?有抽象方法,一定要申明為抽象。。

         有抽象方法的類,一定要申明為抽象類,否則,會編譯錯誤,DOS錯誤提示資訊,可能沒有直接說明原因, 但是在類前加上abstract就可以編譯成功。         沒有抽象方法的類,也可以申明為抽象類,這時,這個類不能被例項化。。。

Java多型、抽象和介面

1:final關鍵字(掌握) (1)是最終的意思,可以修飾類,方法,變數。 (2)特點: A:它修飾的類,不能被繼承。 B:它修飾的方法,不能被重寫。 C:它修飾的變數,是一個常量。 (3)面試相關: A:區域性變數 a:基本型別 值不能發生改變 b:引用型別

抽象抽象方法 abstract和abstract方法

兩個 參數名稱 實例 抽象方法 擴展 trac 有一個 聲明 rac 可以使用abstract來修飾一個類或者方法。 用abstract修飾的類表示這個類是一個抽象類,用abstract修飾的方法表示這個方法是一個抽象方法。 抽象類不能被實例化。 抽象方法是只有方法聲明,而

java反射:加載的構造方法

lan iat abc private out exc @override 私有 try java中反射:加載類的構造方法 package com.ma.reflection; import java.lang.reflect.Constructor; import j

Java的組織形式、與物件、靜態的static關鍵字、最終的final關鍵字、方法傳參方式、遞迴(階乘、斐波那契數列、漢諾塔)

Java程式的組織形式 Java程式需要把程式碼以類的形式組織起來,然後被Java編譯器編譯,再被JVM執行。Java程式是以類的結構為基礎的。 Java程式的基本要素 識別符號 識別符號命名規範 關鍵字(保留字) 關鍵字(保留字)具有專門的意義和用途

淺談java的對象、、與方法的重載

ring bat spring 初始 [] myba strong 有關 .html 對象: 一切皆為對象。 對象包括兩部分內容:屬性(名詞形容詞),行為(動詞)。 對象和對象之間是有關系的: 派生,關聯,依賴。 類: 對同一類別的眾多對象的一種抽象。 類,還是用來生成對象

Java常用的方法、介面、

Java中常用的方法:    length():獲取字串的長度;    equal():比較兩個字串;    toString():返回物件的字串表示;    toLowerCase():轉換為小寫字母;    toUpperCase():轉換為大寫字母;    concat

java的static(包括前面修飾的static、方法前面修飾的static、成員變數前面修飾的static)

原文 http://www.cnblogs.com/zhangshitong/p/4881362.html static是靜態修飾符: 什麼叫靜態修飾符呢?大家都知道,在程式中任何變數或者程式碼都是在編譯時由系統自動分配記憶體來儲存的,而所謂靜態就是指在編譯後所分配

抽象方法抽象 靜態靜態方法靜態成員

一 抽象類和抽象方法 用abstract修飾的方法稱為抽象方法 含有抽象方法的類必須定義為抽象類 使用場景: 為了描述抽象的概念,不予具體的事物相關聯 只是當做派生類的基類來使用 抽象的特徵: 抽象方法只做宣告,不能包含具體實現 抽象方法旨在被繼承之後使用,所以

Java的abstract方法和abstract的問題

當知道一個類的子類將不同的實現某個方法時,把該類宣告為抽象類很有用,可以共用相同的父類方法,不必再定義。 抽象類和抽象方法的關係:含有抽象方法的類一定是抽象類,抽象類裡不一定含有抽象方法。 抽象類存在的意義是用來被繼承的。一個類繼承了一個抽象類,必須實現抽象類裡面所有的抽象

包含抽象方法抽象嗎?

如果這個問題的範圍是圍繞“類”,那麼,包含抽象方法的類一定是抽象類! 因為抽象方法的特徵是:必須定義在抽象類中! 但是話由說回來了,因為在JAVA中還有一種允許使用抽象方法的結構,那就是介面,在介面中的方法只能是抽象方法,不允許出現具體實現的方法!

Java 的 I/O 抽象

描述 pad 經典 output tde 一個 write 標準 append Table of Contents 前言 字節流 常用實現 字符流 常用實現 緩沖區 各種字節流 結語 前言 由於在接觸 Java 之前使用的語言是 Python,所以在轉到 Ja

java的基本數據型存放位置

兩個 內存地址 及其 java 原因 成員變量 調用 變量名 引用變量 一:在方法中聲明的變量,即該變量是局部變量,每當程序調用方法時,系統都會為該方法建立一個方法棧,其所在方法中聲明的變量就放在方法棧中,當方法結束系統會釋放方法棧,其對應在該方法中聲明的變量隨著棧的銷毀

java為什麽實體需要實現序列化

color 客戶端訪問 tro 我們 str 操作 bsp div zab 當客戶端訪問某個能開啟會話功能的資源,web服務器就會創建一個HTTPSession對象,每個HTTPSession對象都會占用一定的內存,如果在同一個時間段內訪問的用戶太多,就會消耗大量的服務器

JAVA重寫equals()方法的同時要重寫hashcode()方法

內存地址 his mov bool args 變量 維護 log obj object對象中的 public boolean equals(Object obj),對於任何非空引用值 x 和 y,當且僅當 x 和 y 引用同一個對象時,此方法才返回 true;註意:當此方法

淺談Java的hashCode方法

implement state ask get() 存在 rsa key 沖突 如何 哈希表這個數據結構想必大多數人都不陌生,而且在很多地方都會利用到hash表來提高查找效率。在Java的Object類中有一個方法: public native int hashCode(