JAVA复习Day7

JAVA复习Day7

8、面向对象编程

8.1IDEA的快捷键及及其模板的使用

8.1.1模板的创建及使用

模板创建
首先找到settings
! 1
! 2
! 3

8.1.2快捷键

快捷键都可以自己进行设置
同样找到seetings
! 1
! 2

8.2包

8.2.1包的作用

1、区分相同名字的类
2、当类很多时,可以很好的管理类
3、控制访问范围

8.2.2包的基本语法和本质

基本语法
package 关键字 表示打包

本质
实际上就是创建不同的文件夹来保存类文件
在这里插入图片描述
! com.xiaoqiang和com.xiaoming是包名,里面的Dog是类
! 测试的程序
! 程序结果运行图

8.2.3包的命名

命名规则:只能包含数字字母下划线小圆点,但是不能用数字开头不能是关键字或保留字
命名规范:一般是小写字母+小圆点

8.2.4常用的包

java.long.* 是基本包,默认引入,不需要再引入
java.util.* 系统提供的工具包,工具类,使用Scanner
java.net.* 网络包,网络开发
java.awt.* 是做java的界面开发,GUI

8.2.5如何引入包

语法:import 包;引入一个包的主要目的就是要使用该包下的类
需要哪个包就导入那个类,不建议使用*导入

8.2.6包的使用细节和注意事项

package的作用是声明当前类所在的包,需要放在类的最上面,一个类中最多只有一句package
import指令位置放再package的下面,在类定义前面可以有多句且没有顺序要求

8.3访问修饰符

8.3.1基本介绍

4种访问控制修饰符,用于控制方法和属性的访问权限
public 对外公开
protected 对子类和同一个包中的类公开
没有修饰符号 向同一个包的类公开
private 只有类本身可以访问,不对外公开
在这里插入图片描述

8.3.2使用的注意事项

修饰符可以用来修饰类中的属性,成员方法以及类
只有默认的和public才能修饰类,并且遵循上述访问权限的特点
成员方法的访问规则和属性完全一样

8.4面向对象编程三大特征

面向对象编程三大特征:封装,继承,多态

8.4.1封装基本介绍

封装
把抽象的数据和对数据的操作封装在一起,数据保护在内部,程序的其他部分只有通过被授权的操作,才能对数据进行操作。例如OS,虽然计算机的原始很丑陋,但是经过OS和一些简单易操作的界面让用户来使用

封装的理解和好处
隐藏细节,可以对数据进行验证,保证安全合理

8.4.2封装实现的步骤

1、将属性进行私有化
2、提供一个公有的方法,对属性进行判断并赋值
3、提供一个公有的方法,用于获取属性的值

class Person {
    public String name;//姓名公开
    private int age;//年龄私有
    private double salary;//工资私有

    public String getName() {
        return name;
    }

    public void setName(String name) {
        if (name.length() >= 2 && name.length() <= 6) {//业务逻辑,进行判断
            this.name = name;
        } else {
            System.out.println("名字的长度不对,需要2-6,给定一个默认名字");//输出提示信息
            this.name = "无名者";
        }
    }

    public int getAge() {
        return age;
    }

    public void setAge(int age) {
        if (age >= 1 && age <= 120) {//业务逻辑,进行判断
            this.age = age;
            //判断年龄是否在范围内,如果在范围内就返回
        } else {
            System.out.println("年龄需要在1-120");//输出提示信息
            this.age = 18;//给一个默认年龄
        }
    }

    public double getSalary() {
        return salary;
    }

    public void setSalary(double salary) {
        this.salary = salary;
    }
}
public class Main {
    public static void main(String[] args) {
        Person person = new Person();
        person.setAge(9090);
        person.setName("milan建立汉朝");
        person.setSalary(30000);
        System.out.println(person.info());
    }
}

! 结果运行图

8.4.3构造器和setxxx方法

当使用构造器的时候可能会导致业务逻辑出现错误,所以直接在构造器的下面调用setxxx方法即可

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值