一、屬性和方法封裝private
1、封裝的目的保護某些屬性和方法不被外部看到
2、封裝的實現,爲屬性和方法進行封裝使用private方法,爲外部訪問。
舉例如下:
package com.guo.ci;
class Person{
private int age;
private String name;
public int getAge() {
return age;
}
/* public void setAge(int age) {
if (age>=0&&age<=200) {
this.age=age;
}
}*/
public void setAge(int a) {
if (a>=0&&a<=200) {
age=a;
}
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public void tell(){
System.out.println("年齡"+getAge()+" "+"姓名"+name);
}
}
public class Demo1 {
public static void main(String[] args) {
Person per =new Person();
per.setAge(-30);
per.setName("test");;
per.tell();
}
}
二、匿名對象
沒有名字的對象,如果程序中只有一次使用該對象,就可以使用匿名對象,例如:
package com.guo.ci;
class Student {
public void tell() {
System.out.println("hello world");
}
}
public class Demo2 {
public static void main(String[] args) {
new Student().tell();
}
}
三、構造方法
1、格式:訪問修飾符 類名稱(){程序語句}
2、注意:構造方法的名稱必須與類名一致;構造方法無返回值(無return)
3、構造方法主要是爲類中的屬性初始化
4、每個類在實例化之後都會調用構造方法,如果沒有構造方法,程序在編譯的時候會創建一個無參的什麼都不做的構造方法。
5、構造方法也可以重載
package com.guo.ci;
class Person1 {
String name;
int age;
//構造函數
public Person1(String n,int a) {
name=n;
age=a;
System.out.println("姓名:"+name +" "+"年齡:"+age);
}
public Person1(int a) {
age=a;
System.out.println("年齡:"+age);
}
}
public class Demo3 {
public static void main(String[] args) {
// TODO Auto-generated method stub
// Person1 per=new Person1("張三",30);
Person1 per=new Person1(30);
}
}
重載的時候根據傳遞參數的個數選擇執行的構造函數