Java 学习博客_4 入门——类和对象

简介: 以黑马程序员全套Java教程网课为主。

类是对生活中一类具有共同属性和行为的事物的抽象。如猫类,都有毛的长短、颜色、名字等属性,也都能猫叫、吃饭等(不接受抬杠

类是对象的数据类型,是一个抽象的概念。

对象

类的实体化。比如罗小黑,是猫类的一个实体化。

属性

对象具有的各种特征,每个对象的每个属性都有特定的值(如猫毛有长毛、短毛、无毛)

行为

对象能执行的动作,如猫可以叫,可以跑。

类的定义

public class 类名{
    数据类型 变量;
    数据类型 变量;
    数据类型 变量;
    
    方法1;
    方法2;
}

public class Cat{
    String name;//初始值为null或0或false或""
    int age;
    boolean tail;
    String color;
    
    public void meow(){
        System.out.println("Meow!");
    }
    public void eat(String food){
        System.out.println("Eat "+food);
    }
}

对象的使用

//在 main 方法中
Cat c=new Cat();
c.name="小黑";//c 的名字
c.age=2;//2岁了
c.tail=false;//有尾巴
System.out.println(c.age);
c.meow();//行为:猫叫
c.eat("猫粮")//行为:吃饭

在同级目录下,类在一个文件中,main 方法在另一个文件中而且实例化了这个类,也是可以的。

对象名 c 存储在栈内存中(其值代表对象的属性在堆内存中的地址),而对象的属性等具体内容存储在堆内存中。对象中的方法调用时则加载到栈内存中,执行完毕后出栈。

成员变量和局部变量

成员变量:类中在方法外的变量(如上例中的属性变量)

局部变量:在类的方法中或方法声明上的变量。(如上例中 eat 方法声明的 food 局部变量)

成员变量 局部变量
类中方法外 方法中,或方法声明上
堆内存中 栈内存中
对象消失时随之消失 方法调用完毕而消失
有默认的初始值 没有默认的初始值,必须先定义、赋值才能使用
目录
相关文章
|
13天前
|
JSON 网络协议 安全
【Java】(10)进程与线程的关系、Tread类;讲解基本线程安全、网络编程内容;JSON序列化与反序列化
几乎所有的操作系统都支持进程的概念,进程是处于运行过程中的程序,并且具有一定的独立功能,进程是系统进行资源分配和调度的一个独立单位一般而言,进程包含如下三个特征。独立性动态性并发性。
62 1
|
13天前
|
Java Go 开发工具
【Java】(8)正则表达式的使用与常用类分享
正则表达式定义了字符串的模式。正则表达式并不仅限于某一种语言,但是在每种语言中有细微的差别。
121 1
|
13天前
|
存储 Java 程序员
【Java】(6)全方面带你了解Java里的日期与时间内容,介绍 Calendar、GregorianCalendar、Date类
java.util 包提供了 Date 类来封装当前的日期和时间。Date 类提供两个构造函数来实例化 Date 对象。第一个构造函数使用当前日期和时间来初始化对象。Date( )第二个构造函数接收一个参数,该参数是从1970年1月1日起的毫秒数。
93 1
|
13天前
|
JSON 网络协议 安全
【Java基础】(1)进程与线程的关系、Tread类;讲解基本线程安全、网络编程内容;JSON序列化与反序列化
几乎所有的操作系统都支持进程的概念,进程是处于运行过程中的程序,并且具有一定的独立功能,进程是系统进行资源分配和调度的一个独立单位一般而言,进程包含如下三个特征。独立性动态性并发性。
54 2
|
1月前
|
数据采集 存储 弹性计算
高并发Java爬虫的瓶颈分析与动态线程优化方案
高并发Java爬虫的瓶颈分析与动态线程优化方案
Java 数据库 Spring
89 0
|
1月前
|
算法 Java
Java多线程编程:实现线程间数据共享机制
以上就是Java中几种主要处理多线程序列化资源以及协调各自独立运行但需相互配合以完成任务threads 的技术手段与策略。正确应用上述技术将大大增强你程序稳定性与效率同时也降低bug出现率因此深刻理解每项技术背后理论至关重要.
128 16
|
2月前
|
缓存 并行计算 安全
关于Java多线程详解
本文深入讲解Java多线程编程,涵盖基础概念、线程创建与管理、同步机制、并发工具类、线程池、线程安全集合、实战案例及常见问题解决方案,助你掌握高性能并发编程技巧,应对多线程开发中的挑战。
|
2月前
|
数据采集 存储 前端开发
Java爬虫性能优化:多线程抓取JSP动态数据实践
Java爬虫性能优化:多线程抓取JSP动态数据实践
|
3月前
|
Java API 调度
从阻塞到畅通:Java虚拟线程开启并发新纪元
从阻塞到畅通:Java虚拟线程开启并发新纪元
321 83