【JAVA语法】02Java-封装性

  • 类与对象的概念
  • 封装性
  • 类方法
  • 静态变量
  • 引用传递

一、类与对象的概念

1.1 方法的重载:名称相同,参数类型或个数不同(不以返回值作为区分)
1.2 类与对象的关系

	Person per = null;   //对象声明
	per = new Person();  //实例化操作
	Person per = new Person();	//声明并实例化

	//未实例化——空指针异常
	//Exception in thread "main" java.lang.NullPointerException

1.3 内存的划分

1.4 面向对象三大特征

封装——对外部不可见
继承——拓展类的功能
多态——方法的重载&对象的多态性  

二、封装性

2.1 通过关键字privata实现封装性
2.2 利用类的public方法,为外部所访问(间接访问)

//编译器推荐的方法(可自动生成)
class Person
{
	private int age;
	public int getAge()
	{
		return age;
	}
	public void setAge(int age)
	{
		this.age = age;
	}
}
//编译器自动生成Set 和 Get方法:  
Rightclick——>Source——>Generate Setters and Getters

2.3 匿名对象

没有名字的对象(程序中只使用一次之后即自动回收)
	class Person{
	public void speak()
	{
		System.out.println("Hello Java!");
	}
}
public class test01 {

	public static void main(String[] args) 
	{
		//Type one
		//Person per = new Person();
		//per.speak();
		
		//Type two
		new Person().speak();
	}
}

2.4 构造方法

1.格式:访问修饰符 类名称(){
代码块
}

2.无返回值,无需手动调用

3.方法名必须与类同名,主要用于初始化类中的属性

4.每个类实例化时都会调用构造方法(如果没有手动编写,程序将自动创建无参的构造方法)

	class Person{
	//构造方法
	public Person()
	{
		System.out.println("Hello Java!");
	}
}
public class test01 {

	public static void main(String[] args) 
	{
		Person per = new Person();//构造方法自动调用
	}
		
	}

三、类方法

3.1 由static 修饰的方法——>类方法(即静态方法)
3.2 保存在内存的方法区

二、静态变量(类变量)

4.1 在类中是全局变量,由JVM自动初始化(不同于局部变量——>需要手动初始化赋值)
4.2 与类同时存在,同时消亡

五、引用传递

5.1 引用传递
纯String类型的数据不能更改(其余数据可以)

	public class test01 {

	public static void main(String[] args) 
	{
		String temp = "Hello";
		System.out.println(temp);
		tell(temp);
		System.out.println(temp);
		
		
	}
	public static void tell(String str2){
		str2 = "World";
	}
		
	}
	Output:
	Hello
	Hello

5.2 this关键字
1.用途:
a)表示类中的属性和调用方法

	class People{
	private String name;
	
	public People(String name ){
		this.name = name;	//this 指向本类的属性
	}
	}

b)调用本类中的构造方法

	class People{
	private String name;
	
	
	public People(String name ){
		this();				//调用本类的无参构造方法
							//此时this只能放首行
		this.name = name;	//this 指向本类的属性
	}
	public People(){
		System.out.println("无参构造方法");
	}
	}

c)表示当前对象

5.3 static关键字
a)static属性——全局属性(公有属性)

   static方法——直接通过类名调用  

b) 注意点:
static方法只能访问static声明的属性和方法;
//main 方法为static
static属性与方法都要用类名来调用(否则会有warning)

posted @ 2017-05-12 09:01  Neo007  阅读(302)  评论(0)    收藏  举报