Java之封装与继承

一、封装

封装的概念:
将类的某些信息隐藏在类内部,不允许外部程序直接访问,而是通过该类提供的方法来实现对隐藏信息的操作和访问,把尽可能多的东西藏起来,对外提供便捷的接口

封装的方法:

java 继承与装饰者模式的区别 java继承与封装_父类


封装的好处:

1.便于使用者正确使用系统,防止错误修改属性

2.有助于系统之间的松耦合,提高系统独立性

3.提高软件的可重用性

4.降低了构建大型系统的风险

封装的调用:
setter:主要是给成员变量赋值,做一定的保护
getter:从成员变量中获取数据

空白位置-》右键-》generate-》getter and setter-》全选-》ok

java 继承与装饰者模式的区别 java继承与封装_封装_02


java 继承与装饰者模式的区别 java继承与封装_java 继承与装饰者模式的区别_03


实现例子:

public class person {
    private String name;
    private int age;


    public String getName() {
        return name;
    }


    public void setName(String name) {
        this.name = name;
    }


    public int getAge() {
        return age;
    }


    public void setAge(int age) {
        if (age<0){
            this.age=0;
        }else {
            this.age = age;
        }
    }
    public void run(){
        System.out.println("他的名字是"+this.name);
        System.out.println("他的年龄是"+this.age);
    }
}
public class testperson {
    public static void main(String[] args) {
        person p=new person();
        p.setName("大");
        p.setAge(-1);


        System.out.println(p.getName());
        System.out.println(p.getAge());
    }
}

二、包和导包

包:其实本质上就是文件夹
在代码中需要写package 包名

包名的规范:
包名由小写字母组成,不能以圆点开头或结尾

package mypackage;

包名之前最好加上唯一的前缀,通常使用组织倒置的网络域名

package net.javagroup.mypackage;

包名后续部分依不同机构内部的规范不同而不同

package net.javagroup.research.powerproject;

导包:

import 包+类;

不需要导包:
1.在自己的包里
2.java.lang包下的所有内容都不想要导包
例如:String

三、static修饰符

推荐使用类名去访问静态的内容(类名.变量名)

特点

1.数据共享

2.属于类的,并不属于对象

3.优先于对象产生

java 继承与装饰者模式的区别 java继承与封装_父类_04

四、继承

继承:子类可以自动拥有父类中除了私有内容外的其他内容
当出现x是一种y的时候,x就可以继承y

public class 类 extends 父类{
}

作用:简化代码开发
子类对父类进行了扩展

实例代码:

public class user {
    public void login(){
        System.out.println("我要登录");
    }
}
public class admin extends user {


}
我要登录

继承是Java中实现代码重用的重要手段之一。Java中只支持单根继承,即一个类只能有一个直接父类

子类访问父类成员:
访问父类构造方法

super();    
super(name);

访问父类属性

super.name;

访问父类方法

super.print();

java 继承与装饰者模式的区别 java继承与封装_父类_05