C語言的變數和函式與java的屬性和方法有什麼區別
想要了解面向物件和麵向過程的區別,一般從最基本的封裝,繼承,多型入手
封裝性
變數和方法的區別:c語言的變數只有區域性變數和全域性變數,沒有訪問修飾符,但java的屬性可以有訪問修飾符(public ,private等),增加了訪問許可權,java沒有全域性變數,方法同理。
繼承性
java的屬性和方法都可以被繼承(非final類),但c語言不行
多型
java的方法具有多型特性而c語言沒有,java的方法的多型分為兩種:
執行時多型:方法的重寫
編譯時多型:方法的過載
這裡兩個簡單的不同:
一、
java的變數儲存的是變數的地址(類似c語言的指標)
c語言的變數儲存的是變數的值(非指標型別)
二、
java中的方法不能獨立存在,它的基本單位是類
c語言中的函式是一個基本單位
上面純屬個人見解,如有錯誤,歡迎指出,謝謝
相關推薦
C語言的變數和函式與java的屬性和方法有什麼區別
想要了解面向物件和麵向過程的區別,一般從最基本的封裝,繼承,多型入手 封裝性 變數和方法的區別:c語言的變數只有區域性變數和全域性變數,沒有訪問修飾符,但java的屬性可以有訪問修飾符(public ,private等),增加了訪問許可權,java沒有全域性變數,方法同理。
C語言寬字元——字符集與字元編碼和寬字元之間的關係
前言: 距上一篇博文,已經是3個月的時間了,忙碌著專案開發,無暇顧及部落格。現在專案總算是結束了一個段落,是該總結的時候。4月份將會更新幾篇文章,都是在專案中遇到的問題,然後再深入瞭解之後總結出來的,希望通過這個平臺能與更多的人有更多的交流。 正文: 我在做日誌管理這一部
【應用C】C語言實現HashSet並模仿Java機制和語法(+原始碼)
文章目錄 01 - HashSet 02 - HashCode 02 - 模仿Java機制和語法 2.1 - 模仿泛型 2.2 - 模仿自動擴容 2.3 - 模仿迭代器 03 - 結果測
c的回撥函式與java中抽象函式,介面函式,抽象類簡單理解
先了解c語言的回撥函式,舉個簡單例項步步深入,比如A程式提供給B程式使用,但是A想要呼叫B的程式碼,這樣各自不同功能由B實現即可。 例項1A: extern int get_B_data(); void A_data_handle(){ printf("%d\n",get
c語言物件(函式,類,變數)的宣告與定義
最近在看一本《c缺陷與陷阱》,意識到在大型程式時物件的宣告與定義的重要性 普通變數的定義與宣告 每個外部物件都必須在程式的某個地方進行定義。因此如果一個程式中包含了語句 extern int a;//宣告變數a 那麼,這個程式就必須在別處的某個地方包括語句 in
c語言 用getchar函式讀入兩個字元給c1 c2 用putchar和printf輸出 思考問題
分享一下我老師大神的人工智慧教程!零基礎,通俗易懂!http://blog.csdn.net/jiangjunshow 也歡迎大家轉載本篇文章。分享知識,造福人民,實現我們中華民族偉大復興!  
C語言變數定義與微控制器資料儲存方式
說明:文章來源 EDN電子技術設計:嵌入式程式開發需要知道的儲存器知識 MCU 中常使用的儲存器型別有:FLASH、RAM、ROM(包括EEPROM) 在軟體角度來看,程式和資料的儲存分為以下幾個部分 程式碼段和常量段都可以用於儲存常量資料,其主要區
C語言指標回顧——函式指標和指標函式
函式指標 函式指標和指標函式兩個詞很像,但實際上只要看後兩個詞就行,函式指標是一個指標,指標是用來存放變數地址的,函式指標存放的地址是函式的入口地址。那麼函式指標如何使用呢,請看下面的程式碼: #include <iostream> using namespa
C語言用regcomp、regexec、regfree和regerror函式實現正則表示式校驗
前言 首先,祝大家國慶假期玩的嗨皮!可能有的人已經在回家的路上了,是不是都看不到我的真摯祝福了? C語言對於一些東西的封裝比較少,比如正則表示式,但速度快一直使它立於不敗之地,今天就要介紹如何用C封裝。 一、正則表示式 1、介紹 應該都聽過正則吧?主要應用在字
C語言:理解函式指標陣列和定義
函式指標陣列和定義 陣列是一個存放相同型別資料的儲存空間,那我們已經學習了指標陣列,比如: int *arr[10];//陣列的每個元素是int* 那要把函式的地址存到一個數組中,那這個陣列就叫函式指標陣列,那函式指標的陣列如何定義呢? int (
C語言變數定義與資料溢位(初學者)
1、變數定義的一般形式為:型別說明符、變數名識別符號等;例:int a,b,c;(abc為整型變數) 在書寫變數定義時應注意以下幾點: (1)允許在一個型別說明符後,定義多個相同型別的變數。各變數之間用“,”間隔。型別說明符與變數名之間用一個空格間隔。 (2)最後一個變數之後必須以“;”結尾。 (3)
C語言 '*' 在scanf函式和printf函式運用
1,在scanf函式中,加了' *' 的部分會被忽略掉(跳過),即你輸入的資料不會被對應的引數獲取。 下面舉個栗子 int a; char b; scanf("%*c%d",&b,&a)
C語言:通過函式指標和引數來呼叫函式
C語言可以通過函式指標來呼叫函式,可以將要呼叫的函式名儲存到陣列中。這樣我們可以通過引數來直接呼叫函數了。 #include <stdio.h> #define FUNCTIONSIZE 2 typedef unsigned char uint8_t;
C++中的虛擬函式與靜態聯編和動態聯編
程式在呼叫函式時,將使用哪個可執行程式碼塊呢?編譯器負責回答這個問題,將原始碼中的函式呼叫解釋為執行特定的函式程式碼塊被稱為函式名聯編。在C中,因為每個函式名都對應一個不同的函式,而在C++中,由於函式過載的緣故,編譯器必須檢視函式引數以及函式名才能確定
C語言位運算子:與、或、異或、取反、左移和右移
語言位運算子:與、或、異或、取反、左移和右移 位運算是指按二進位制進行的運算。在系統軟體中,常常需要處理二進位制位的問題。C語言提供了6個位操作運算子。這些運算子只能用於整型運算元,即只能用於帶符號或無符號的char,short,int與long型別。 C語言提供的位運算
C語言回撥函式的定義和寫法
1 定義和使用場合 回撥函式是指 使用者自己定義一個函式,實現這個函式的程式內容,然後把這個函式(入口地址)作為引數傳入別人(或系統)的函式中,由別人(或系統)的函式在執行時來呼叫的函式。函式是你實現的,但由別人(或系統)的函式在執行時通過引數傳遞的方式呼叫,這就是所謂的回撥函式。簡單來說,就是由別人的函式
JNI進階一 (C++呼叫java屬性和方法,javap的使用)
一、C/C++函式分析://獲取jclass物件,引數:this的意思,就是native方法所在的類1.GetObjectClass(jobject) //獲取普通屬性id,第一個引數:類物件, 第二個引數:屬性名,第三個引數:屬性簽名(不知道的同學點選這裡)2.GetFie
淺談c#語言的類,事件,物件,方法和函式的區別
在討論這些關係之前讓我們先來了解一下面向過程和麵向物件的區別: 所謂面向過程就是把一切事物或者需要解決的問題都當做是一個過程來處理,而面向物件則是把一切事物當成一個一個的物件來處理,這兩者有什麼區別呢,舉一個簡單的例子: 編寫一個駕駛汽車的程式: (1)面向過程的程式設計:
C語言變數的型別和儲存位置
1. C語言變數主要分為全域性變數、靜態全域性變數、區域性變數、靜態區域性變數和暫存器變數。其中靜態變數用static關鍵字進行修飾。程式所佔用的記憶體可以分為以下幾個部分: (1)程式碼段-存放程式程式碼,只讀的,不能修改。 (2)全域性區(靜態區),又稱為資料段。其中.data段存放的是
C語言:結構體中一級指標和二級指標的建立與釋放示例
這幾天把C語言鞏固了一下,作為一門最基本的程式語言,C語言還是相當基礎和非常重要的,個人認為C語言還是很有必要學好吃透的。 今天寫的話題是結構體結構體中一級指標和二級指標的建立與釋放,以一個例子來說明,筆者這裡自己敲得程式碼,雖然用C語言幾年了,但是有的東西還是會遺忘。筆者