对封装的理解 |
您所在的位置:网站首页 › 谈一谈你对选择函数形式的理解 › 对封装的理解 |
我们为什么需要封装? 在面对对象编程中,我们会封装对象的属性和方法,通常我们将封装内容设为私有(private),那么在其他类中怎么给对象实例化,初始化具体属性呢,构造方法帮我们解决了这个问题,构造方法其他类提供了访问本类中的私有属性和方法的渠道。通过方法的重载我们可以初始化相同类下(具有一些相同属性和行为)的多个对象。 封装:能够实现访问权限的控制。 注意点: 类中写上属性和方法 私有属性要提供公开的方法去访问 提供公开的方法,是对属性赋值和取值 一个属性同时具备getter、setter方法 类中属性初赋值: 定义时赋初值 setter设置器 通过构造方法赋值 方法的重载: 方法的重载一般在同一个类中 方法重载的形式: 方法名相同、返回值类型相同、参数列表不同 方法重载一般最少是两个方法(构造方法重载、实例方法重载) 方法重载的作用: ①构造方法重载:能够初始化类中不同属性 ②实例方法重载:重载可以共用一个方法名执行不同的操作。 参数列表:①参数个数 ②参数类型 ③参数的位置 方法重载的时候,只有类加载到虚拟机里面。虚拟机会根据传递的具体参数调用具体的方法 例如:System.out.println(); 构造方法具有以下几个要素: 1.构造方法与类同名,首字母大写 2.构造方法没有返回值,也不需要void修饰 3.构造方法的作用 :a)能够初始化类中的属性 b)能够创建出类的对象 4.构造方法可以重载,构造方法的默认修饰符是public,也可以private 5.一个类中如果我们没有定义构造方法,其实编译器会自动加上一个无参数的构造方法(隐式构造方法) 6.如果在类中我们自定义一个构造方法(显式构造方法),默认的隐式构造方法将会失效 7.构造方法(函数)可以传递参数(有参数的构造方法),通过不同的参数可以创建不同的对象 8.类中属性赋初值:a)构造方法 b)Setter 设置器 c)定义时候赋初值
9.类可以选择某一个构造方法创建其对象 10. 构造方法的重载实现定义多个不同对象 11.调用本类下的构造方法用this.(), 调用父类中的构造方法用Super.() 例子: 我们定义人(people)这个类,该类属性name、sex、 age三个私有属性,新建 zhangsan类, 通过people类构造方法确定张三这个对象,(性别男,年龄20)。代码如下: package Prac; public class People { /*声明属性*/ private String name; //姓名 private int age; //年龄 private String sex; //性别
/*构造方法*/ public People(String name, int age, String sex) { super(); this.name = name; this.age = age; this.sex = sex; } /*setter、getter方法*/ public String getName() { return name; } public void setName(String name) { this.name = name; } public int getAge() { return age; } public void setAge(int age) { this.age = age; } public String getSex() { return sex; } public void setSex(String sex) { this.sex = sex; }
} package Prac; public class Zhangsan { /** * 张三类 * */ public static void main(String[] args) { People zhangsan=new People("张三",20,"男"); //调用people类内构造方法给people类内私有属性赋值 System.out.println("我的名字叫"+zhangsan.getName()+"\n我的年龄是:"+zhangsan.getAge()+"\n性别:"+zhangsan.getSex()); } } 打印结果: 我的名字叫张三 我的年龄是:20 性别:男
|
今日新闻 |
点击排行 |
|
推荐新闻 |
图片新闻 |
|
专题文章 |
CopyRight 2018-2019 实验室设备网 版权所有 win10的实时保护怎么永久关闭 |