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 局部变量)

成员变量 局部变量
类中方法外 方法中,或方法声明上
堆内存中 栈内存中
对象消失时随之消失 方法调用完毕而消失
有默认的初始值 没有默认的初始值,必须先定义、赋值才能使用
目录
相关文章
|
3天前
|
Java 编译器
Java——类与对象(继承和多态)
本文介绍了面向对象编程中的继承概念,包括如何避免重复代码、构造方法的调用规则、成员变量的访问以及权限修饰符的使用。文中详细解释了继承与组合的区别,并探讨了多态的概念,包括向上转型、向下转型和方法的重写。此外,还讨论了静态绑定和动态绑定的区别,以及多态带来的优势和弊端。
18 9
Java——类与对象(继承和多态)
|
2天前
|
存储 安全 Java
Java——String类详解
String 是 Java 中的一个类,用于表示字符串,属于引用数据类型。字符串可以通过多种方式定义,如直接赋值、创建对象、传入 char 或 byte 类型数组。直接赋值会将字符串存储在串池中,复用相同的字符串以节省内存。String 类提供了丰富的方法,如比较(equals() 和 compareTo())、查找(charAt() 和 indexOf())、转换(valueOf() 和 format())、拆分(split())和截取(substring())。此外,还介绍了 StringBuilder 和 StringJoiner 类,前者用于高效拼接字符串,后者用于按指定格式拼接字符串
9 1
Java——String类详解
|
1天前
|
设计模式 架构师 Java
Java开发工程师转架构师需要学习什么
Java开发工程师转型为架构师需掌握多项技能:精通Java及框架、数据库与分布式系统;熟悉设计模式与架构模式;积累项目经验;提升沟通与领导力;持续学习新技术;培养系统设计与抽象能力;了解中间件及开发工具;并注重个人特质与职业发展。具体路径应结合个人目标与实际情况制定。
28 18
|
3天前
|
Java
Java Character 类详解
`Character` 类是 Java 中的一个封装类,位于 `java.lang` 包中,主要用于处理单个字符。它是一个最终类,提供了多种静态方法来检查和操作字符属性,如判断字符是否为字母、数字或空格,以及转换字符的大小写等。此外,`Character` 类还支持自动装箱和拆箱,简化了 `char` 和 `Character` 之间的转换。以下是一些示例代码,展示了如何使用 `Character` 类的方法来检查字符属性和执行字符转换。掌握 `Character` 类的用法有助于更高效地处理字符数据。
|
3天前
|
Java
Java Number & Math 类详解
在 Java 中,`Number` 类和 `Math` 类是处理数字和数学运算的重要工具。
|
4月前
|
存储 安全 Java
24、使用 Java 官方教程学习:① 类变量和类方法详解;② 深入介绍 main() 方法
24、使用 Java 官方教程学习:① 类变量和类方法详解;② 深入介绍 main() 方法
66 1
|
4月前
|
存储 Java
【JAVA学习之路 | 进阶篇】Map接口及其实现类及常用方法
【JAVA学习之路 | 进阶篇】Map接口及其实现类及常用方法
|
4月前
|
Java 测试技术 C++
【JAVA学习之路 | 进阶篇】File类及常用方法
【JAVA学习之路 | 进阶篇】File类及常用方法
|
4月前
|
Java
【JAVA学习之路 | 进阶篇】方法引用与构造器引用
【JAVA学习之路 | 进阶篇】方法引用与构造器引用
|
4月前
|
存储 Java
【JAVA学习之路 | 进阶篇】Set及其实现类与常用方法
【JAVA学习之路 | 进阶篇】Set及其实现类与常用方法