栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

面向对象基本概念

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

面向对象基本概念

面向对象基本概念 1.类和对象 1.1什么是对象

万物皆对象,只要是客观存在的事物,都可以称为对象

1.2什么是面向对象

就是对一些客观事物的操作认知

1.3什么是类

就是对生活中一类有共同属性和行为的事物的抽象

类是对象的数据类型

是具有相同属性和行为的对象的集合

1.4什么是属性

对象具有各种特征,每个对象每个属性都有特定的值

1.5什么是对象的行为

对象能执行的操作

1.6类和对象的关系

类:就是对生活中一类有共同属性和行为的事物的抽象

对象:客观存在的事物

类是对象的的抽象

对象是类的实体

1.7类的定义

对生活中一类有共同属性和行为的事物的抽象

是java程序的基本组成单位

类的组成:属性和行为

属性:在类中是通过成员变量来体现的(类中方法外的变量)

行为:在类中通过成员方法来体现(和前面的方法相比去掉static即可)

package mianxiang;

public class guanka1 {
     //成员变量
    String brand;
    int price;
    public void call(){
        System.out.println("打电话");
    }
    public void sendMessage(){
        System.out.println("发短信");
    }
}
1.8对象的使用

先创建对象

然后再使用对象

package mianxiang;

public class demo {
    public static void main(String[] args) {
        //创建对象
        guanka1 P = new guanka1();
     //使用成员变量
        System.out.println(P.brand);
        System.out.println(P.price);
        P.brand ="小米";
        P.price =2999;
        System.out.println(P.brand);
        System.out.println(P.price);
//使用对象定义的变量需要重新赋值
        //成员方法
        P.sendMessage();
        P.call();
    }
}

案例:学生::

首先定义一个学生类 再定义一个学生测试类 在测试里边完成队成员变量和成员方法的使用

package mianxiang;

public class demo {
    public static void main(String[] args) {
        //创建对象
        guanka1 P = new guanka1();

        //使用成员变量

        System.out.println(P.name+","+P.age );
        P.name = "林青霞";
        P.age=18;
        System.out.println(P.name+","+P.age );
        //成员方法
        P.time1();
        P.time2();
    }
}

package mianxiang;

public class guanka1 {
     //成员变量
    String name;
    int age;
    public void time1(){
        System.out.println("学习");
    }
    public void time2(){
        System.out.println("写作业");
    }
}
2.对象内存图

通过栈内存指向堆内存 刚开始的时候堆内存name与age没有被赋值 只有初始值 所以输出的是初始值

然后给成员变量赋值 name 与age有值之后输出的就是赋的值

方法执行完毕就会从栈内存消失

当执行到最后一步main方法就会从栈内存消失

方法是可以共用的 多个成员变量的值是不同的

3.成员变量和局部变量

类中方法外的是成员变量

方法内的是局部变量

成员变量和局部变量的区别 :

类中位置不同

内存中的位置不同;成员变量在堆内存;局部变量在栈内存

成员变量随着对象的存在而存在 随着对象的消失而消失

局部变量随着方法的调用而存在方法的调用完毕而消失

成员变量在堆内存 都有默认的初始化值

局部变量在栈内存 必须先定义再赋值最后才能使用

4.封装 4.1 private关键字

通过对象名直接访问成员变量的方式存在数据安全隐患

不让外界直接访问成员变量的值

这是一个权限修饰符

可以修饰成员 成员变量和成员方法

作用是保护成员变量不被其它类使用,被 private修饰的类只有在本类中才能访问

通过get/set可以对输入进行判断

4.2 private关键字的使用

一个标准类的编写

把成员变量用private修饰

提供对应的getXxx()/setXxx()方法

使用get方法的好处 想要什么格式的都可以自己在测试类中拼接

show方法只会给出一种固定的格式

package mianxiang;
//学生测试类
public class kkkk {
    public static void main(String[] args) {
        //创建对象
        oooo s =new oooo();
        s.setName("林青霞");
        s.setAge(20);

        s.show();
        //使用get方法获取成员变量
        System.out.println(s.getName()+"---"+s.getAge());
    }
}

package mianxiang;

public class oooo {
    //成员变量
    private String name;
    private int age;
    //get  set

    public void setName(String name) {
        this.name = name;
    }
    public String getName() {
        return name;
    }
    public void setAge(int age) {
        this.age = age;
    }

    public int getAge() {
        return age;
    }

    public void show(){
        System.out.println(name+","+age);
    }
}
4.3 this关键字

this修饰的name就是成员变量

假入没有this就是局部变量

this修饰的变量用于指代成员变量

方法的形参与变量同名,不带this的指的是形参

什么时候用this 解决局部变量和隐藏成员变量问题

this代表所在类的对象引用

4.4 this内存原理

方法被哪个对象调用

那个方法里的this就代表那个对象

public void show(){
    System.out.println(name+","+age);
}

}

### 4.3 this关键字

this修饰的name就是成员变量

假入没有this就是局部变量

this修饰的变量用于指代成员变量

方法的形参与变量同名,不带this的指的是形参

什么时候用this 解决局部变量和隐藏成员变量问题

this代表所在类的对象引用

### 4.4 this内存原理

方法被哪个对象调用

那个方法里的this就代表那个对象
暑期编程PK赛 得CSDN机械键盘等精美礼品!
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/1017510.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号