IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> Java知识库 -> Java_____类和对象上 -> 正文阅读

[Java知识库]Java_____类和对象上

1.类:抽象概念,表示一类事物的总称

人类:属性——名字 年龄 性别
行为——吃 穿 睡
类统称:表示一类事物所具有的共同特征与行为
对象:类的一个实例
在这里插入图片描述

面向对象:c++ Java 一切皆对象 方便开发,松耦合
面向过程:c 所有事情都是一个个独立的方法 ,性能较高(嵌入式软件:单片机)

如何定义一个类

class Person{
}

人类{
若干属性…
若干方法/行为
}
注意:1.任何一个源文件有且只有一个主类(public class)并且源文件名称需要和主类保持一致
在这里插入图片描述

2.类的命名

类的命名源文件的命名采用大驼峰命名法:所有单词的首字母全大写
变量的命名使用小驼峰命名法

class Person;
class ChinaPerson;

3.类的实例化

一个源文件中可以有若干个类(普通类)0——n
定义一个类只是规定了一类对象所具备的属性和行为
有了类之后,可以根据类来产生对象(类的实例化
在这里插入图片描述

4.关键字new来产生对象

主方法main 存在主类之中
在这里插入图片描述

5.类中包含的内容

类中包含的内容:属性,方法/行为,类,接口,代码块
类中的属性——成员变量或者属性
类中的方法——成员放法或实例方法

问题1:如何通过对象来使用类中的属性

在这里插入图片描述
要通过引用数据类型访问属性和方法 属于**“."**操作符

问题2:关于属性默认值

基本数据类型:默认值
类中的成员变量与对象有关,当有对象产生时,才会开辟内存,分配空间

//类来产生对象
public class Test {
    //成员变量(与对象有关)
    int a;
    public static void main(String[] args) {
        //类的实例化——>产生一个Person类的对象
       /* Person per = new person();
        per.name = "张三";
        per.age = 18;
        per.sex = "男";*/

        Test 狗剩 = new Test();
      //  类  给这个对象起的名字  = 类的对象
        System.out.println(狗剩.a);
    }
}

在这里插入图片描述

6.引用数据类型的默认值:null

public class Test {
    //成员变量(与对象有关)
    int a;
    public static void main(String[] args) {
        //类的实例化——>产生一个Person类的对象
       Person per = new Person();
       /* per.name = "张三";
        per.age = 18;
        per.sex = "男";*/

      /*  Test 狗剩 = new Test();
      //  类  给这个对象起的名字  = 类的对象*/
        System.out.println(per.name);
    }
}

在这里插入图片描述

7.可以在定义的时候给属性赋值

//class 定义一个类
class Person{
    //属性
    String name = "张三";
    int age;
    String sex;
    //行为
    void eat(){};
    void sleep(){};

}
//类来产生对象
public class Test {
    //成员变量(与对象有关)
    int a;
    public static void main(String[] args) {
        //类的实例化——>产生一个Person类的对象
       Person per = new Person();
       /* per.name = "张三";
        per.age = 18;
        per.sex = "男";*/

      /*  Test 狗剩 = new Test();
      //  类  给这个对象起的名字  = 类的对象*/
        System.out.println(per.name);
    }
}

在这里插入图片描述

8.类中的成员方法

//class 定义一个类
class Person{
    //属性
    int age;
    String sex;
    //行为
    void eat(){};
    void sleep(){};
    void show(){
        System.out.println("My name is:"+name+",My age is:"+age);
    }

}
//类来产生对象
public class Test {
    //成员变量(与对象有关)
    int a;
    public static void main(String[] args) {
        //类的实例化——>产生一个Person类的对象
       Person per = new Person();
       Person per1 = new Person();
       per.name = "张三";
        per.age = 20;
       per1.name = "柳飘飘";
       per1.age = 101;
      
        per.show();
        per1.show();
    }
}

在这里插入图片描述
总结:在类中的成员变量以及成员方法与对象强相关,有对象之后才能使用!!!

2.static关键字

static{
1.修饰变量(类属性)
2.修饰方法(类方法)
3.修饰代码块(静态块)
4.修饰内部类
}

1.static修饰属性—>类属性

当一个类中的属性,该类的所有对象值都相同(eg:国籍),此时这个属性不在与具体的对象相关,而与所关联的类相关,属性使用static修饰,表示类属性,在JVM方法区存储。
方法区:存储所有静态变量和常量
static

class Person{
    //类属性
    static String country;
    }
//类来产生对象
public class Test {
    //成员变量(与对象有关)
    int a;
    public static void main(String[] args) {
        //类的实例化——>产生一个Person类的对象
       Person per = new Person();
       Person per1 = new Person();
       per.country = "台湾";

        System.out.println(per1.country);

    }
}

在这里插入图片描述

2.static修饰的变量称为类的静态变量或类属性

直接使用类名称来访问,不推荐使用对象访问
在这里插入图片描述

3.Java中static关键字一定不能出现在方法中

在这里插入图片描述

4.常量:一旦定义后就无法修改的变量,使用final关键字修饰,一般与static搭配使用

//class 定义一个类
class Person{
    //常量,定义时必须初始化,并且之后无法修改
    final static String COUNTYR = "中国";
    }
public class Test {
    public static void main(String[] args) {
        System.out.println(Person.COUNTYR);
    }
}

在这里插入图片描述
常量的命名规则:
所有单词全部大写!!!多个单词可以以_分隔

5.静态方法

类中使用static修饰方法-----类方法(与对象无关)
在成员方法中能否调用静态方法?Yes
类 对象
在静态方法中能否调用成员方法?No
对象 类

  Java知识库 最新文章
计算距离春节还有多长时间
系统开发系列 之WebService(spring框架+ma
springBoot+Cache(自定义有效时间配置)
SpringBoot整合mybatis实现增删改查、分页查
spring教程
SpringBoot+Vue实现美食交流网站的设计与实
虚拟机内存结构以及虚拟机中销毁和新建对象
SpringMVC---原理
小李同学: Java如何按多个字段分组
打印票据--java
上一篇文章      下一篇文章      查看所有文章
加:2022-01-29 22:56:59  更:2022-01-29 22:58:37 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/24 10:35:13-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码