美文网首页数据蛙数据分析每周作业
Java笔记——基础概念(二)

Java笔记——基础概念(二)

作者: cynthia猫 | 来源:发表于2019-04-28 17:11 被阅读5次

1. 封装

隐藏对象的属性和实现细节,仅对外提供公共public访问方式。
好处:提高了代码的复用性和安全性。
private是一个权限修饰符,可以修饰成员变量和成员方法,被其修饰的成员只能在本类中被访问。
当成员变量被private修饰时,在外部不能访问。
所以可以提供set/get方法,用于访问成员变量。

一个规范:

  • 一般对类的属性都声明为private私有
  • 对这个属性提供set/get方法
  • set方法是间接赋值给属性
  • get方法是间接获取属性的值
  • set/get方法后面的属性的第一个字母要大写

2. this关键字

代表当前对应的引用。
应用场景:用来区分成员变量和局部变量重名。

this和外面调用的变量是指向同一地址的,指的是同一个对象。

成员变量/全局变量:这个变量,类里面的所有方法都可以访问,就是全局变量。例如:

class Person{
    String name;//成员变量/全局变量

    public void speak(){
        String name = "A";//局部变量
        //this.name 表示访问成员变量
        System.out.println("I am" + this.name);
    }
}

3. 构造方法Constructor

作用:给对象的数据(属性)进行初始化赋值。
构造方法格式特点:方法名与类名相同;没有返回值类型,void也没有;没有具体的返回值return。

4. 构造方法的重载

方法名相同,与返回值类型无关,只看参数列表。

5. 构造方法注意事项

如果没有给出构造方法,系统自动提供一个无参构造方法。
如果给出了构造方法,系统将不再提供默认的无参构造方法。
如果我们声明了有参构造方法,还想用无参构造方法,就必须自己给出。建议永远自己给出无参构造方法。

6. 正确的set和构造方法的书写

set方法,注意这里的this.age!

class Person{
    String name;//成员变量/全局变量
    int age;

    public void setAge(int age){
        this.age = age;
    }
}

构造方法,同样注意this.xxx

class Person{
    String name;//成员变量/全局变量
    int age;

    public Person(String name, int age){
        this.name = name;
        this.age = age;
    }
}

7. 成员变量(属性)赋值的三种方式

  • 直接给属性赋值(开发中较少用)
  • 通过setXxx()方法给属性赋值(开发中常用,一般属性会声明private私有)
  • 构造方法,给对象中属性进行初始化

相关文章

  • Java笔记——基础概念(二)

    1. 封装 隐藏对象的属性和实现细节,仅对外提供公共public访问方式。好处:提高了代码的复用性和安全性。pri...

  • java学习笔记

    引用地址: Java学习笔记(一):基础概念和语法 - 简书

  • 我的blog目录

    读书笔记 测试自动化 Stanford-swift java基础 算法 新概念英语 人生 java servlet...

  • Java笔记——基础概念

    Java语言特性简单性解释性面向对象高性能分布式多线程健壮性动态性安全性跨平台移植性 以上,加粗的是Java里比较...

  • java基础巩固笔记(4)-代理

    标签: java Contents java基础巩固笔记(4)-代理概念动态代理创建动态类动态代理的工作原理面向切...

  • Java学习笔记--基础概念

    1、封装 概念:将类的某些信息隐藏在类的内部,不允许外部程序直接访问,而是通过该类提供的方法来实现对隐藏信息的操作...

  • RxJava的学习笔记(三)线程调度

    前言 RxJava的学习笔记(一)基础概念RxJava的学习笔记(二)操作符RxJava的学习笔记(三)线程调度上...

  • RxJava的学习笔记(一)基础概念

    前言 RxJava的学习笔记(一)基础概念RxJava的学习笔记(二)操作符RxJava的学习笔记(三)线程调度去...

  • RxJava的学习笔记(二)操作符

    前言 RxJava的学习笔记(一)基础概念RxJava的学习笔记(二)操作符RxJava的学习笔记(三)线程调度上...

  • C++ 、java 和 C# 的区别

    一、基础类型 c++: ** java:** C#: 二、指针 1.java 是没有指针这个概念,c++ 和 c#...

网友评论

    本文标题:Java笔记——基础概念(二)

    本文链接:https://www.haomeiwen.com/subject/yuljnqtx.html