java面向对象(三)

文章目录

  • 一、可变个数形参的使用
  • 二、引用数据类型
    • 1.阐述
    • 2.典型案例(交换两个数)
    • 3.类的结构之三:构造器(或构造方法、constructor)的使用。==前两个是类和属性==
        • 1.构造器的作用
        • 2.说明
  • 三、面向对象的特征一:封装与隐藏
    • 1.问题的引入
    • 2.封装性的体现
    • 3.封装性的体现,需要权限修饰符来配合
    • 4.直观图


提示:以下是本篇文章正文内容,下面案例可供参考

一、可变个数形参的使用

public void show(int n,String ... strs);

eg:数据库的操作使用

二、引用数据类型

1.阐述

如果参数是引用数据类型,那么实参赋值给形参的是实参存储数据的地址值。

2.典型案例(交换两个数)

代码如下(示例):

class Data{
	int m;
	int n;
}

main()
{
	Data data = new Data();
	data.m = 10;
	data.n = 20;
	v.swap(data);
}

public void swap(Data data)
{
	int temp = data.m;
	data.m = data.n;
	data.n = temp;

}

交换数组中两个指定位置的值。

public void swap(int[]arr,int i,int j)
{
	int temp = arr[i];
	arr[i] = arr[j];
	arr[j] = temp;
}

3.类的结构之三:构造器(或构造方法、constructor)的使用。前两个是类和属性

1.构造器的作用

1.创建对象
2.初始化对象的信息

2.说明

1.如果没有显式的定义类的构造器的话,则系统默认提供一个空参的构造器
2.定义构造器的格式,权限修饰符 类名(形参列表){}
3.一个类中定义的多个构造器,彼此构成重载
4.一旦我们显式的定义了类的构造器之后,系统就不再提供默认的空参构造器
5.一个类中,至少会有一个构造器(只是不显示而已)
代码如下(示例):

class Person{
	//属性
	String name;
	int age;

	//构造器
	public Person(){
		Sysout("Person()...");
	}
	public Person(String n){
		name = n;
	}
}

三、面向对象的特征一:封装与隐藏

1.问题的引入

当我们创建一个类的对象以后,我们可以通过“对象.属性”的方式,对对象的属性进行赋值。这里,赋值操作要受属性的数据类型和存储范围的制约。除此之外,没有其他制约条件。但是,在实际问题中,我们往往需要给属性赋值需要加入额外的限制条件。这个条件就不能在属性声明时体现,我们只能通过方法进行限制条件的添加。(比如:set、get。同时,我们需要避免用户再使用“对象.属性”的方式对属性进行赋值。则需要将属性声明为私有的(private)-- >此时,针对于属性就体现了封装性。

2.封装性的体现

我们将类的属性xxx私有化(private),同时,提供公共的(public)方法来获取(getXxx)和设置(setXxx)
拓展:封装性的体现:①如上 ② 不对外暴露的私有的方法 ③单例模式 …

3.封装性的体现,需要权限修饰符来配合

1.Java规定的4种权限(从小到大排列),private、缺省、protected 、public
2.4种权限可以用来修饰类及类的内部结构:属性、方法、构造器、内部类
3.具体的,4种权限都可以用来修饰类的内部结构,属性、方法、构造器、内部类
修饰类的话,只能使用:缺省、public

4.直观图

java面向对象(三)_第1张图片


你可能感兴趣的:(java,开发语言)