当前位置 博文首页 > @王某人:面向对象进阶

    @王某人:面向对象进阶

    作者:[db:作者] 时间:2021-07-05 18:57

    1.封装

    在开发中, 为了避免出现逻辑错误, 我们建议对所有属性进行封装,并为其提供setter及getter方法进行设置和取得 操作。(避免出现类似年龄出现不正常范围)

    Class person{
        private age;
        public void setAge(int a){ 
            if(a>0&&a<150) 
                age = a ; 
        }
        public int getAge(){
            retrun age;
        } 
    }

    2.this

    ? ? ?this指的是当前对象(当前正在调用方法的对象)

    ? ? ?使用this关键字可以完成以下的操作:

    ? ? ? ? ? ? · 调用类中的属性

    ? ? ? ? ? ? · 调用类中的方法或构造方法

    ? ? ?在一个构造方法中,调用另一个构造方法,调用的代码必须编写在代码的第一行

    ? ? ? ? ? ?· 表示当前对象

    3.static

    ? ? 概述:

    ? ? ? ? ? static表示“静态”的意思,可以用来修饰成员变量和成员方法

    ? ? ? ? ?static的主要作用在于创建独立于具体对象的域变量或方法

    ? ? ? ? ?简单理解: 被static关键字修饰的方法或者变量不需要依赖于对象来进行访问,只要类被加载了,就可以通过类名去进行访问。

    ? ? ? ? ?并且不会因为对象的多次创建 而在内存中建立多份数据

    ? ? 重点:

    ? ? ? ? ? 1. 静态成员 在类加载时加载并初始化。

    ? ? ? ? ? 2. 无论一个类存在多少个对象 , 静态的属性, 永远在内存中只有一份( 可以理解为所有对象公用 )

    ? ? ? ? ? 3. 在访问时: 静态不能访问非静态 , 非静态可以访问静态 !

    4.权限修饰符

    ?

    ?

    ?

    ?

    ? ? ? ? ? ? ?

    ?

    5.代码块

    ?

    ? ? ? ? ? 普通代码块:在顺序执行的流程中 出现的 代码块, 我们称其为普通代码块。

    ? ? ? ? ? 构造代码块: 在类中的成员代码块, 我们称其为构造代码块, 在每次对象创建时执行, 执行在 构造方法之前(无论用户调用哪一个构造方法创造对象)。

    ? ? ? ? ? 静态代码块: 在类中使用static修饰的成员代码块, 我们称其为静态代码块, 在类加载时执行。 每次程序启动到关闭 ,只会 执行一次的代码块。

    ? ? ? ? ? 构造方法 与 构造代码块 以及 静态代码块的执行顺序: 静态代码块 --> 构造代码块 --> 构造方法

    ?

    6.包

    ?

    ? ? ? ? 介绍:包如同文件夹一样,把功能相似或相关的类或接口组织在同一个包中,方便类的查找和使用。,不同的包中的类的名字是可以相同的,当同时调用两个不同包中相同类名的类时,应该加上包名 加以区别。包也限定了? ? ? ? ? ? ? ? ? ? ?访问权限,拥有包访问权限的类才能访问某个包中的类。

    ? ? ? ? 使用规则:

    ? ? ? ? ? ? ? ? ? ?包中java文件的定义: 在.java文件的首部, 必须编写类所属哪个包,

    ? ? ? ? ? ? ? ? ? 格式:package 包名;

    ? ? ? ? 包的定义:

    ? ? ? ? ? ? ? ? ? 通常由多个单词组成, 所有单词的字母小写, 单词与单词之间使用.隔开 ,一般命名为“com.公司名.项目名.模块名....”。

    ? ? ? ? import关键字:

    ? ? ? ? ? ? ? ? ?import 包名.类名;

    ?

    7.main方法详解

    ? ? ? ? ?public static void main(String args[])

    ? ? ? ? ?以上的各个参数的含义如下:

    ? ? ? ? ? ? ? · public:表示公共的内容,可以被所有操作所调用

    ? ? ? ? ? ? ? · static:表示方法是静态的,可以由类名称直接调用。java StaticDemo09

    ? ? ? ? ? ? ? · void:表示没有任何的返回值操作

    ? ? ? ? ? ? ? · main:系统规定好的方法名称。如果main写错了或没有,会报错:NoSuchMethodError: main

    ? ? ? ? ? ? ? · String[] args:字符串数组,接收参数的

    ?

    ?

    ?

    ?

    ?

    ?

    ?

    ?

    ?

    ?

    cs
    下一篇:没有了