java面向对象编程基础

对象:

java程序中的对象:

本质上是一种特殊的数据结构

对象是由类new出来的,有了类就可以创建对象

对象在计算机的执行原理:

  • student s1=new student();
  • 每次new student(),就是在堆内存中开辟一块内存区域代表一个学生对象
  • s1变量里面记住的学生对象的地址

类:

类中定义的变量也叫成员变量(对象的属性) ,类中定义的方法也称成员方法(对象的行为)

成员变量存在默认值(0.0 or null)

一个代码文件,可以写多个class类,但只能一个用public修饰

//用public修饰的class必须成为文件名

对象与对象之间的数据不会相互影响,但多个变量指向同一个对象就会相互影响

this:

this就是一个变量(c++的this是指针),可以用在方法上,来指定当前对象。

构造器:

创建对象时,对象就会调用构造器。

java 复制代码
public student()
        {
            System.out.println("无参构造触发");
        }
       public student(String name,double chinese,double math)
       {
           System.out.println("有参构造被触发");
           this.name=name;
           this.chinese=chinese;
           this.math=math;
       }

构造器的注意事项:

1 类在设计时,如果不写析构器,java会为类自动生成一个无参构造器

2 一旦定义了有参构造器,java就不会为为类自动生成一个无参构造器,需要自己写

以下是一个学生类:

java 复制代码
public class student {
        public student()
        {
            System.out.println("无参构造触发");
        }
       public student(String name,double chinese,double math)
       {
           System.out.println("有参构造被触发");
           this.name=name;
           this.chinese=chinese;
           this.math=math;
       }

        public void printTotalsum()
        {
            System.out.println(name+"的总成绩是"+(chinese+math));
        }
        public void printave()
        {
            System.out.println(name+"的平均成绩是"+(chinese+math)/2.0);
        }
    String name;
    double chinese;
    double math;
    }

实体类:

这个类中成员变量都要私有,且对外要有get(),set(),函数

类中必须有一个公共无参构造器

相关推荐
Dicky-_-zhang2 分钟前
日志管理实战:ELK与Loki对比选型与落地实践
java·jvm
nJI74egg119 分钟前
JavaEE初阶---《JUC 并发编程完全指南:组件用法、原理剖析与面试应答》
java·面试·java-ee
刮风那天26 分钟前
Android AMS创建进程不用Binder而用Socket?
android·java·binder
程序员老邢32 分钟前
【技术底稿 37】Spring Boot 3.x 自动装配 “死锁” 排查:3 个注解实现条件化装配与 Mock 兜底
java·spring boot·后端·自动装配·rag·技术底稿
学习,学习,在学习34 分钟前
Qt工控仪器程序框架设计详解(工控多仪器控制版本)
开发语言·c++·qt
三品吉他手会点灯39 分钟前
C语言学习笔记 - 35.数据类型 - printf函数的非输出控制符与格式优化
c语言·开发语言·笔记·学习
日月云棠1 小时前
JAVA数据结构与算法 - 基础:链表
java·后端
日月云棠1 小时前
JAVA数据结构与算法 - 基础:栈 (Stack) 深度解析
java·后端
xiguolangzi1 小时前
java使用Map映射遍历方法
java·后端
日月云棠1 小时前
JAVA数据结构与算法 - 基础:队列 (Queue) 全方位解析
java·后端