面向对象2
发布日期:2021-06-27 12:55:45 浏览次数:22 分类:技术文章

本文共 1436 字,大约阅读时间需要 4 分钟。

文章目录

面向对象2

封装

封装的意义在于保护或者防止代码(数据)被无意破坏。保护成员属性,不让类意外的程序直接访问和修改。

封装的原则: 隐藏对象的属性和实现细节,仅对外公开访问方法,并且控制访问界别。

1、this关键字的使用

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

  1. 调用类中的属性;
  2. 调用类中的方法或构造方法;
    在一个构造方法中调用另一个构造方法时,调用的代码必须编写在构造方法的第一行。
class Person{
   
private String name;
private int age;
Person(){    
this("默认姓名",1);
}
Person(String name,int age){    
this.name = name;
this.age = age;
}
void say(){    
System.out.println("姓名"+this.name+",年龄为"+this.age);
}
}
  1. 表示当前对象

2、static

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

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

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

关于类的特性

  1. 静态成员 在类加载时加载并初始化。
  2. 无论一个类存在多少个对象 , 静态的属性, 永远在内存中只有一份( 可以理解为所有对象公用 )
  3. 在访问时: 静态不能访问非静态 , 非静态可以访问静态
    因为静态修饰的方法,在被调用时,有可能对象还未创建

例如:

//在类加载时,静态方法已经加载并初始化,而此时对象还没有创建//因此可以在say2()方法中调用say(),而不能在say()中调用say2()class eg1{
   
static void say(){    
System.out.println("锄禾日当午");
}
void say2(){    
System.out.println("汗滴禾下土");
say();
}

3、关于代码块

普通代码块
在执行的流程中出现的代码块, 我们称其为普通代码块。
构造代码块
在类中的成员代码块, 我们称其为构造代码块, 在每次对象创建时执行, 执行在构造方法之前。静态代码块
在类中使用static修饰的成员代码块, 我们称其为静态代码块, 在类加载时执行。 每次程序启动到关闭 ,只会执行一次的代码块。
同步代码块构造方法 与 构造代码块 以及 静态代码块的执行顺序:
静态代码块 --> 构造代码块 --> 构造方法

5、权限修饰符

修饰符 子类 其他包
public
protected ×
default × ×
private × × ×

6、main方法详解

public static void main(String args[])
各个参数的含义如下:
· public:表示公共的内容,可以被所有操作所调用
· static:表示方法是静态的,可以由类名称直接调用。java StaticDemo09
· void:表示没有任何的返回值操作
· main:系统规定好的方法名称。如果main写错了或没有,会报错:NoSuchMethodError: main
· String[] args:字符串数组,接收参数的

转载地址:https://blog.csdn.net/weixin_43454088/article/details/115723657 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:面向对象3
下一篇:面向对象基础

发表评论

最新留言

感谢大佬
[***.8.128.20]2023年03月20日 12时44分59秒

关于作者

    喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!

最新文章