面向对象-封装

JavaSE学习笔记-面向对象之封装

  • 什么是封装?

    • 将某些东西包装在一起,然后以新的完整形式呈现出来。
  • 封装的目的和意义?

    • 提高安全,不能让外部随便调用和更改内部属性。
    • 方便我们控制业务员逻辑。
  • 如何实现封装?

    使用private修饰成员变量。然后在给这些成员变量根据相应的需求提供相应的public的set和get方法。

  • get和set方法的意义和书写形式?

    权限修饰符 void setXxxx(变量类型 xxxx){
    	this.xxxx = xxxx;
    }
    权限修饰符 变量类型 getXxxx(){
    	return xxxx;
    }
    
  • this关键字

    • this指代当前对象。
    • this在不会发生混淆的时候可以省略。
    • this(参数列表);this();表示调用本类的构造方法。
    • this调用构造方法的时候,必须写在第一行。
    • this.方法名();调用本类的方法。
    • this.属性名;访问本类的属性。
  • 什么是方法重载?返回值不同能不能作为方法重载的条件?形式参数名不同能不能作为重载条件?

    • 方法重载就是相同的方法名,形式参数不一样。
    • 返回值类型不一样不构成重载,方法的重载和返回值无关。只与方法名和形式参数有关。
    • 形式参数名不同不能作为能不能构成重载的条件,因为参数类型一样的话,是不会构成重载,只有参数类型不一样,或个数,或顺序不一样才会构成重载,前提是方法名相同。
  • 构造方法可不可以重载?

    可以,不同的形参下就构成了重载。

  • static关键字的作用?【重点】

    • 可用于修饰成员变量,成员方法,静态代码块,让这些优先于类加载,所以这些用static修饰的类和静态代码块只能访问静态的成员变量。
    • 修饰成员变量: 称为类变量,可以通过类名访问,也可通过对象访问,建议使用类名。在内存中只会存在一份,所有对象都共享。
    • 修饰成员方法:静态方法,属于类方法,优先与对象加载到内存的静态方法区。
    • 修饰代码块:只会执行一次,一般用于加载配置文件。 在类加载的时候执行。
    • 静态代码优先与类构造器执行。
  • 静态变量和成员变量的区别?【重点、难点】

    • 静态变量又称类变量。静态变量是一个类加载之后所有所有的对象都是共用这一个变量。也就是说,它只会存在一份,所有的对象都是访问这一个,修改了之后所有的对象里面的值也都是修改了。只有这个程序结束了才会回到这个类变量给定的初始值。
    • 成员变量是只有在这个类new出来之后才会有的,而且每个对象的这个变量都是互不影响的。这个对象给了这个变量一个值,那个对象给了另外的值,这两个值是不会覆盖谁的值,互不影响的。
  • 包,打包和导包分别使用什么关键字?

    • 打包 package 包名
    • 导包 import 包名.类名
  • 一个java文件中允不允许有多行package语句?

    不能,而且package只能在第一行。

  • 允不允许有多个import语句?

    可以。

    在我理解中:导包的本质应该就是简化书写吧,不使用import,也是可以找到这个对象,如下

    java.util.Scanner sc = new java.util.Scanner(System.in);
    

    这样也是可以的,但是这样的话,很麻烦,而且代码会看起来很凌乱。

  • 哪个包中的类不需要导包?

    java.lang

  • 成员变量、局部变量和静态变量的区别

成员变量局部变量静态变量
定义位置类中,方法外方法中,方法签名中类中,方法外
初始化有默认初始化没有默认初始化,要赋值才能使用有默认初始化
调用方式对象实例调用----对象调用(不推荐),类名调用
存储位置堆中栈中方法区
生命周期与类共存与方法共存与类共存
别名实例变量----类变量
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值