首页 > 编程语言 >Java 基础篇day05

Java 基础篇day05

时间:2023-11-02 22:34:16浏览次数:46  
标签:Java 变量 对象 成员 基础 day05 new 方法

面向对象编程

世间万物皆对象,在Java的观念中,把一切都看作对象,但是你操纵的确是一个对象引用。在Java中一旦创建了一个引用,就希望它能与一个新的对象继续关联,通常使用new操作符来实现这一目的。new的意思是,给我一个新对象,如果你不想相亲,自己new一个对象就好了,祝你下辈子幸福

对象本质上是一种特殊的数据结构
calss也就是类,也成为对象的设计图(或者对象的模板)

面向对象有啥好处?
凡是找对象的编程套路,更加符合人类思维习惯,编程也会更加直观。

对象是啥?如何得到?
对象就是一种特殊的数据结构
对象是用类new出来的,有了类就可以创建出对象。

对象在计算机中的执行原理?
Student s1=new Student();
每次new Studnt(),就是在堆内存中开辟一块内存区域代表一个学生对象
s1变量里面记住的是学生对象的地址

类和对象的注意事项

1.类名建议用英文单词,首字母大写,满足驼峰模式,要有意义,比如Stduent
2.类中定义的变量也称为成员变量(对象的属性),类中定义id方法也成为成员方法(对象的行为)
3.成员变量本身存在默认值,在定义成员变量时一般来说不需要赋予初始值
4.一个代码文件中可以定义多个class类,但只能一个用public修饰
5.对象与对象之间的数据不会相互影响,但多个变量指向同一个对象时就会相互影响了
6.如果某个对象没有一个变量引用它,则该对象无法被操作了,该对象就会称为所谓的垃圾对象

成员变量 局部变量
最大区别就是生命周期不同,成员变量与对象共存亡,局部变量随着方法的调用而生,随着方法的运行结束而亡

面向对象基础语法:

this

this就是一个变量,可以用在方法中,来拿到当前对象

this的应用场景
this主要用来解决:变量名称冲突问题的,当对象的成员变量与方法内部变量的名称一样时,导致访问冲突问题的

构造器
一个特殊的方法,没有返回值类型声明,名称必须与所在类的名称一模一样
注意:类在设计时,如果不写构造器,Java是会为类自动生成一个无参构造器的
一旦定义了有参构造器,Java就不会帮我们的类自动生成无参构造器,此时就建议自己手写一个无参数构造器出来了

封装
封装就是用类设计对象处理某一个事物的数据时,应该把要处理的数据,以及处理这些数据的方法,设计到一个对象中去

封装的设计规范:合理隐藏,合理暴露
在代码层面通过public(公开)和private(私有)进行修饰

合理隐藏
用类设计对象处理某一个事物的数据时,应该把要处理的类用private进行修饰
修饰的成员只能在本类中访问,其他地方不能直接访问呢

合理暴露
一般时提供方法,让外界通过方法来合理访问

实体类JavaBean
一种特殊的类
这个类中的成员都要私有,而且要对外提供相应getXxx,setXxx方法
类中必须要有一共公共无参的构造

实体类有啥应用场景?
实体类的对象只负责数据存取,而对数据的处理交给其他类的对象来完成,以实现数据和数据业务处理相分离

标签:Java,变量,对象,成员,基础,day05,new,方法
From: https://www.cnblogs.com/yifan0820/p/17806519.html

相关文章

  • Java网络编程实现一(服务器)对多(客户端)
    使用多线程+网络编程实现一个服务器对多个客户端在该程序中用到的知识点java的BIOServerSocket和Socket网络编程多线程的知识(个人认为重要)实现的思路服务器端(使用多个线程)在客户端需要有一个集合来存储已经连接上的客户端,如果客户端断开连接则需要从集合中删除创建一......
  • java
    我们先剖析一个完整的Java程序,它的基本结构是什么:/***可以用来自动创建文档的注释*/publicclassHello{publicstaticvoidmain(String[]args){//向屏幕输出文本:System.out.println("Hello,world!");/*多行注释开始注释......
  • java 网络编程之传输文件
    需要建两个类,分别作为服务器(接收文件)和客户端(发送文件) 1.服务器类:1package菜鸟教程.网络编程.网络编程之传输文件;23importjava.io.*;4importjava.net.InetAddress;5importjava.net.ServerSocket;6importjava.net.Socket;78/**9*服......
  • java网络编程与多线程
      一、Java 网络编程网络编程是指编写运行在多个设备(计算机)的程序,这些设备都通过网络连接起来。java.net包中J2SE的API包含有类和接口,它们提供低层次的通信细节。你可以直接使用这些类和接口,来专注于解决问题,而不用关注通信细节。java.net包中提供了两种常见的网络......
  • 在JavaScript中移除字符串中的重音符号/变音符号
    内容来自DOChttps://q.houxu6.top/?s=在JavaScript中移除字符串中的重音符号/变音符号如何从字符串中移除重音符号?特别是在IE6中,我曾经使用过以下代码:accentsTidy=function(s){varr=s.toLowerCase();r=r.replace(newRegExp(/\s/g),"");r=r.replace(......
  • 2023-2024-1 20231320 《计算机基础与程序设计》第六周学习总结
    2023-2024-120231320《计算机基础与程序设计》第六周学习总结作业信息这个作业属于哪个课程<班级的链接>(2023-2024-1计算机基础与程序设计)这个作业要求在哪里<作业要求的链接>(2022-2023-1计算机基础与程序设计第六周作业)这个作业的目标<自学《计算机基础与......
  • Java NIO包结构简介
    layout:postread_time:trueshow_date:truetitle:JavaNIO包结构date:2023-07-0910:12:10-0600description:JavaNIO包结构简述.img:posts/java-nio/cover.pngtags:[java,IO,JavaNIO,ChannelIO,Buffer,threadsafty,multiplexer,charset]author:尹......
  • Java_消息队列
    消息系统MQ全称MessageQueue(消息队列)消息队列有RabbitMQ、RocketMQ、ActiveMQ、Kafka、ZeroMQ、MetaMQ等,而部分数据库如Redis、MySQL以及phxsql也可实现消息队列的功能系统管理者MessageManager包括Apache的ActiveMQ,Apache的Kafka,RabbitMQ、memcacheQ消息类型......
  • 前端基础之JavaScript
    前端基础之JavaScriptJavaScript概述ECMAScript和JavaScript的关系1996年11月,JavaScript的创造者--Netscape公司,决定将JavaScript提交给国际标准化组织ECMA,希望这门语言能够成为国际标准。次年,ECMA发布262号标准文件(ECMA-262)的第一版,规定了浏览器脚本语言的标准,并将这种语言称......
  • JavaScript基础
    引入方式JavaScript程序不能独立运行,它需要被嵌入HTML中,然后浏览器才能执行JavaScript代码。内部引入写在body结束标签的上方。<!DOCTYPEhtml><htmllang="en"><head><metacharset="UTF-8"><metahttp-equiv="X-UA-Compatible"content=&......