關于面向程序和面向物件
面向程序:當我們遇到一件事情的時候,我們自己分析事情的解決步驟,按照步驟一步步完成。重視的是事情解決的程序。
面向物件:當我們遇到事情的時候,我們不自己完成,找一個能夠幫我么們完成事情的物件,呼叫物件完成事情的功能,重視的是物件。
現實生活中的事務:
屬性、行為(功能)
我們可以把現實生活中的事務抽象為Java中的類(類是Java的基本單位)
把事務的屬性抽象為類中的成員變數(定義在成員位置的變數:類中,方法外)
把事務的行為抽象為類中的成員方法(定義在成員位置的方法,去掉static關鍵字)
封裝:私有成員變數,對外提供公共的get/set方法
構造方法:創建物件就是呼叫類中的構造方法
定義格式:
修飾符 構造方法名(引數){
為成員變數賦初始值
}
特點:
1.沒有回傳值型別,也沒有加void(是根本就沒有)
2.沒有回傳值
3.必須和類名相同
構造方法的注意事項:
1.類中沒有定義構造方法,Jvm會為類默認添加一個無參構造方法
格式類似于:public People(){}
2.類中已經定義了構造方法(有參,無參),那么jvm就不會給類添加默認構造方法了
3.構造方法可以多載(在一個欸中方法名稱相同,但是引數串列不同(個數,順序,資料型別)的方法)
public Class Student{
private String name;
private int age;
public Student(){
System.out.println("這是個空參構造");
}
public Student(String name, int age){
this.name = name;
this.age = age;
System.out.println("這是個滿參構造");
}
public String getName(){
return name;
}
public void setName(String name){
this.name = name;
}
public int getAge(){
return age;
}
public void setAge(){
this.age = age;
}
package com.llz.demo01Object;
/*
測驗類:
包含main方法的類叫測驗類
*/
public class Demo01Student {
public static void main(String[] args) {
//使用Student類的無引數構造方法創建Student物件
Student s1 = new Student();
//使用set方法,給成員變數賦值
s1.setName("迪麗熱巴");
s1.setAge(18);
//使用get方法,獲取成員變數的值
System.out.println(s1.getName()+"\t"+s1.getAge());
System.out.println(s1);//com.llz.demo01Object.Student@4554617c
//使用Student類中的滿引數構造方法創建Student物件
Student s2 = new Student("古力娜扎",20);
//使用set方法,修改成員變數的值
s2.setAge(18);
//使用get方法,獲取成員變數的值
System.out.println(s2.getName()+"\t"+s2.getAge()); (注意:"\t"的作用是補全當前字串長度到8的整數倍,最少一個最多8個)
}
}
}關于this關鍵字
this關鍵字:代表本類物件的參考,哪個物件呼叫的方法,方法中的this就是哪個物件
this的作用:當區域變數和成員變數重名時,使用this可以區磁區域變數和成員變數
this. 變數名 -->成員變數
public Class Person{
private String name;
public void show(){
String name = "小劉";
System.out.println("name:"+name); //小劉 變數的就近原則
System.out.println("this.name:"+ this.name); //隔壁老王 this變數名代表成員變數
}
public Person() {
}
public Person(String name) {
this.name = name;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
}
/**
* 測驗類
*/
public class Demo01This {
public static void main(String[] args) {
//創建Person類的物件
Person p = new Person("旺財");
p.show();
}
}
物件的記憶體圖

1:定義一個 Student參考型別 變數名為 s1
2:創建 new 即創建一個新物件 具體引數值取決于new后的建構式或者set值
3:初始化 將具體值傳遞給對應的屬性
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/272399.html
標籤:Java相關
上一篇:是怎樣打出下面的圖形的?
