對象、抽象、類、實例、抽象類、接口、構造方法、包、封裝、繼承、多態html
對象---現實世界(包括邏輯世界)的實體的投影和屬性sql
屬性---對象的性質數據庫
方法---對象的行爲編程
類是對事物的抽象,將對象的屬性和方法封裝到獨立的單位內部。網絡
[訪問修飾符] [修飾符] class類名{ //類成員 }
訪問修飾符:public(公開的,最多隻有一個包含public修飾的外部類)、default(默認修飾符,能夠有多個)工具
修飾符:abstract(修飾抽象類,只能被繼承重寫)、final(修飾最終類,不能被繼承)this
成員方法:構造方法、main方法、通常成員方法spa
可訪問權限.net
名稱 | 當前類 | 相同包 | 子類(不一樣包) | 全部類 |
public | √ | √ | √ | √ |
protected | √ | √ | √ | |
默認 | √ | √ | ||
private | √ |
static:靜態,不須要建立類的實例就能夠訪問,具備全局變量的效果
final:最終類,屬性方法沒法修改,能夠被繼承而不能夠重寫
abstract:修飾抽象類,方法只有被重寫才能使用,本身不能被建立實例對象
native:被修飾方法能夠調用非java編寫的代碼,語言交互
synchronized:同步鎖
(靜態變量=類變量)+實例變量 = 成員變量
定義的位置不一樣,成員變量存在於類中,局部變量存在於方法中
生命週期不一樣,成員變量與實例對象生命週期一致,局部變量和方法生命週期一致
做用域不一樣,成員變量在整個類內部能夠訪問,局部變量則只有在方法中能夠訪問
修飾符不一樣(大概局部變量只能被final修飾)
優先級不一樣,局部變量優先級高
局部變量必須進行變量初始化
主方法,程序的入口點,也是程序第一個被執行的方法
構造方法,與類名相同,完成實例的初始化,能夠有多個,無參或有參,通常public修飾,使用this相互調用(放在第一行)
2種方法
1----類名 實例名 = new 類的構造方法名(); 2----類名 實例名 = null; 實例名 = new 類的構造方法名();
實例名.屬性名; 實例名.方法名();
實現訪問自身類的方法或屬性
一種相似簡寫的形式:new 類的構造方法名.屬性名或方法名();
不按期的清理無引用的對象所佔據的空間
兩個或多個同名的方法,而且方法的參數、類型、順序至少有一個不一樣
package 包名;
import 包名.類名; //導入某個類 import 包名. *; //導入全部類
java.lang:Java的基礎類;
java.awt:建立用戶圖形界面的類文件集合;
java.swing:輕量級組件包;
java.io:與輸入輸出相關的文件和流的操做類與接口;
java.util:各類工具類;
java.net:網絡編程方面的類和接口;
java.sql:數據庫訪問相關類集合。
import sun.tools.tree.ThisExpression; //學生成績信息管理 public class Demo6_1 { private String name; private String major; private double dbmath; private double dbenglish; private void setMessage(String name, String major, double dbmath, double dbenglish) { this.name = name; this.major = major; this.dbmath = dbmath; this.dbenglish = dbenglish; } private void getMessage() { System.out.print("學生信息以下:\n"); System.out.print("姓名:" + this.name + " 專業:" + this.major + " 數學成績:" + this.dbmath + " 英語成績:" + this.dbenglish); } private void sum() { System.out.println("學生的總成績爲:" + (this.dbmath + this.dbenglish)); } private void average() { System.out.print("學生的平均成績爲:" + ((this.dbmath + this.dbenglish)/2)); } public static void main(String[] args) { Demo6_1 stu = new Demo6_1(); stu.setMessage("張三", "電子科學與技術", 150, 148); stu.getMessage(); stu.sum(); stu.average(); } }
學生信息以下:姓名:張三 專業:電子科學與技術 數學成績:150.0 英語成績:148.0學生的總成績爲:298.0學生的平均成績爲:149.0