Java面向对象-封装性

一、Java封装性的使用

  • 封装性的产生目的:
    保护某些属性和方法不被外部所看见。
  • 封装性的实现:
    为属性和方法进行封装是通过关键字private声明的。
    实现该属性的set和get方法,为外部所访问。
代码
class Person1{
    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 String getName() {
        return name;
    }
    public void setName(String name) {
        this.name = name;
    }
    public void tell() {
        //get得到
        System.out.println("姓名:"+getName()+"  "+"年龄:"+getAge());
    }
}
public class Demo05 {
    public static void main(String[] args) {
        Person1 per = new Person1();
        per.setAge(30);  //设置
        per.setName("张三");
        per.tell();
    }
}
结果:
姓名:张三  年龄:30

创建get方法和set方法的快捷方式,见下图

快捷方式.png

二、Java匿名对象的使用

匿名对象就是没有名字的对象,如果程序中只是用一次该对象,就可以使用匿名对象的方式。

代码

class Student{
    public void tell() {
        System.out.println("Hello");
    }
}
public class Demo06 {
    public static void main(String[] args) {
        //匿名对象  只使用一次
        new Student().tell();
    }
}
结果:
Hello

三、Java构造对象的使用

格式:

访问修饰符 类名称(){ 程序语句 }

示例
class People{
    //构造方法
    public People(){
        System.out.println("Hello world");
    }
}
public class Demo07 {
    public static void main(String[] args) {
        People per = new People();
    }
}
结果:
Hello world
注意点
  • 构造方法名称必须与类名一致。
  • 构造方法没有返回值。
功能

构造方法主要是为类中的属性初始化。

代码
class People{
    //构造方法
    int age;
    String name;
    public People(int a,String n){
        age = a;
        name = n;
        System.out.println("姓名:"+name+"  "+"年龄:"+age);
    }
}
public class Demo07 {
    public static void main(String[] args) {
        People per = new People(10,"小明");
    }
}
结果:
姓名:小明  年龄:10
每个类在实例化之后都会调用构造方法,如果没有构造方法,程序在编译的时候会创建一个无参的什么都不做的构造方法。
构造方法也可以重载
代码一

class People{
    //构造方法
    int age;
    String name;
    public People(int a,String n){
        age = a;
        name = n;
        System.out.println("姓名:"+name+"  "+"年龄:"+age);
    }
    public People(int a){
        age = a;
        System.out.println("年龄:"+age);
    }
}
public class Demo07 {
    public static void main(String[] args) {
        People per = new People(10);
    }
}
结果:
年龄:10

代码二

class People{
    //构造方法
    int age;
    String name;
    public People(int a,String n){
        age = a;
        name = n;
        System.out.println("姓名:"+name+"  "+"年龄:"+age);
    }
    public People(int a){
        age = a;
        System.out.println("年龄:"+age);
    }
}
public class Demo07 {
    public static void main(String[] args) {
        People per = new People(10,"小明");
    }
}
结果:
姓名:小明  年龄:10
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容