类、对象、对象内存图、局部变量与成员变量、private修饰符、this、封装笔记

裂魂人
• 阅读 1012

是对一类具有共同属性和行为的事物的抽象。

类的组成
1、属性----成员变量(类中方法以外的变量)
2、行为----方法

创建类
类、对象、对象内存图、局部变量与成员变量、private修饰符、this、封装笔记

对象

创建对象 括号

Phone p = new Phone();

使用成员变量

p.brand

使用方法 括号

p.call()

注意:成员变量有默认值
因为是new出来的,那么就在堆内存中,堆内存中的成员是有默认值的。

对象内存图

P103、P104
类、对象、对象内存图、局部变量与成员变量、private修饰符、this、封装笔记

多个对象指向相同时

Student s1 = new Student();
Student s2 = s1;

上面这个语句是将s1的地址给了s2,它俩指向同一个列表。
类、对象、对象内存图、局部变量与成员变量、private修饰符、this、封装笔记

成员变量与局部变量

二者的区别:

1、位置:类内方法外;方法内或方法声明上
2、内存中的位置:堆内存;栈内存
3、生命周期:随对象的消失而消失;随方法的调用结束消失而消失
4、初始化值:有默认初始值;没有默认值,必须先定义、赋初值才能使用

类、对象、对象内存图、局部变量与成员变量、private修饰符、this、封装笔记


private修饰符

性质:

1、是权限修饰符
2、可以修饰成员:成员变量和成员方法
3、private修饰后的成员只能本类访问,保护了本类成员不被别的类访问。

针对private修饰的成员变量

提供方法   get变量名(),来获取变量的值。用public修饰方法
提供方法   set变量名(参数),来设置变量的值。用public修饰方法

例:

public class Student{
    private int age;
    public int getAge(){
        return age;
     }
    public void setAge(int a){
        Age = a;
     }
 }
 
 public class StudentTest{
    public static void main(String[] args){
        Student s = new Student();
        setAge(5);
        System.out.println(s.getAge()); 
    }

}


this关键字

用来解决局部变量和成员变量同名的情况
类、对象、对象内存图、局部变量与成员变量、private修饰符、this、封装笔记
上图不用this注释就会变成name = name;
计算机会识别为都是局部变量的name

总结:

1、
类、对象、对象内存图、局部变量与成员变量、private修饰符、this、封装笔记

2、
类、对象、对象内存图、局部变量与成员变量、private修饰符、this、封装笔记
a对象调用的A类,那么this就代表a对象。

this的内存情况

类、对象、对象内存图、局部变量与成员变量、private修饰符、this、封装笔记

封装

P111
类、对象、对象内存图、局部变量与成员变量、private修饰符、this、封装笔记

点赞
收藏
评论区
推荐文章
HelloWorld官方 HelloWorld官方
4年前
C++ 基本语法
C程序可以定义为对象的集合,这些对象通过调用彼此的方法进行交互。现在让我们简要地看一下什么是类、对象,方法、即时变量。对象对象具有状态和行为。例如:一只狗的状态颜色、名称、品种,行为摇动、叫唤、吃。对象是类的实例。类类可以定义为描述对象行为/状态的模板/蓝图。方法从基本上说,一个方法表示一种行为。一个类可以包含多个
Wesley13 Wesley13
3年前
java中static关键字的使用
知识点:java中,static关键字修饰类的变量、方法、代码块、内部类场景:我们在创建类的方法和变量时,如果这个类在创建多个对象时,共用同一个属性或者方法,就可以使用static关键字修饰,因为static修饰的变量,在内存的静态域存在的值,被类的多个实例所共用,实际上我们在编写一个类时,就是在描述对象的属性和行为,并没有产生实质上的对
Wesley13 Wesley13
3年前
java中一些常考知识
一、static的作用 static是修饰符,用于修饰成员变量(静态变量/类变量)。static修饰的成员被所有对象共享。static优先于对象存在。static修饰的成员可以用类名.静态成员来访问。注:1.静态方法只能访问静态成员,非静态方法既能访问静态成员又可以访问非静态成员。2.静态方法中不可
Wesley13 Wesley13
3年前
java中的类与对象(1)
    首先理解一下类和对象的关系,可以说:类是对象的抽象,对象是类的实例。类一个类中,通常上包含了属性和功能。属性通常用变量表达,功能通常上用函数表达。编写一个类class类名{//属性,用变量表达//功能,用函数表达}对象实例化对象的方法及含义:类名 对象名 new 
Wesley13 Wesley13
3年前
java 07 接口
1.interface    接口2.接口中的成员修饰符固定  publicstaticfianl  //成员变量  只通过类访问   publicabstract    //成员函数   3.接口里所有的方法都是抽象的,抽象类中,可以没有抽象方法。  类与类继承,类与接口是实现的关系。降低耦合(高
Wesley13 Wesley13
3年前
java面向对象的三大特性
java面向对象的三大特性1.封装,把事物封装成抽象的类,通过访问控制符把自己的成员变量和函数对不可信的进行信息隐藏以及提供方法给可信的类和对象来操作。2.继承,继承可以使用现有类的所有功能和成员变量,并且无需重新编写原来的类的情况下对这些功能进行扩展。3.多态,实现了对代码的复用,多态具体体现为重载和重
Wesley13 Wesley13
3年前
Java类和对象
一、类类是封装对象的属性和行为的载体,在Java语言中对象的属性以成员变量的形式存在,而对象的方法以成员方法的形式存在。1\.类的构造方法构造方法是一个与类同名的方法,对象的创建就是通过构造方法完成的,构造方法分为有参构造方法和无参构造方法,区别就在于有没有参数。说这么多概念是不是感觉有点麻木,直接看下面的例子吧。pub
Wesley13 Wesley13
3年前
Java(3)
面向对象编程思想:抽象 继承 多态 封装对象:万事万物皆对象. 类:把具有相同属性和方法的对象抽象出来形成的几何体!类是对象的抽象,对象是类的具体!如何描述一个类1.属性(属性不初始化时也有初始值,会自动初始化,整形为0 小数型为0.0  boolea
Wesley13 Wesley13
3年前
Java学习笔记之
Java学习笔记之类和对象(一)类  类是一个模板,它描述一类对象的行为和状态 例如:动物类是一个类,动物们都有属性:颜色,动物们都有行为:吃饭publicclassDog{Stringname;Stringcolor;
Wesley13 Wesley13
3年前
Java基础之类
一、类的一般形式1、类的概述类就是事物的集合和抽象。它所代表的是这类事物所共有的一些行为和属性。2、类的一般形式中国有13亿人,就有13亿个对象人类只有一个class类名{类型变量名;类型变量名;...类型方法名
Wesley13 Wesley13
3年前
Java中的权限修饰符
Java中修饰符总结:1.访问控制修饰符 作用:用于控制被修饰变量、方法、类的可见范围. public的访问级别是最高的,其次是protected、默认和private. 成员变量和成员方法可以处于4个访问级别中的一个:公开、受保护、默认或私有.