【Java】对象与类

LocalData类

java.time.LocalDate;

static LocalTime now();
构造一个表示当前日期的对象。

static LocalTime of(int year,int month,int day);
构造一个表示给定日期的对象。

int getYear();
int getMonthValue();
int getDayOfMonth();
得到当前日期的年、月和日。

DayofWeek getDayOfWeek
得到当前日期是星期几,作为DayOfWeek类的一个实例返回。
调用getValue来得到1~7之间的一个数,表示这是星期几,1表示星期一,7表示星期日。

LocalDate plusDays(int n)
LocalDate minusDays(int n)
生成当前日期之后或之前n天的日期。

构造函数

在构造函数上C++与Java最大的区别是,Java所有的构造必须使用new在堆上构造。

值得注意的是,不要再构造函数里声明与实例域同名的局部变量。

在C++中,一般把方法定义在类的外面,把方法定义在类的里面就成立内联函数。但是在Java中没这个说法,是否是内联函数,将有虚拟机自行决定。


更改器和访问器

更改器其实就是set方法。通过set方法对成员变量进行更改。

访问器就是get方法。通过get方法获取成员变量的值。

要注意的是,对于get方法不要返回可变对象。可变对象的意思就是不用更改器就能该改变的值,毕竟想要改变值需要用set方法。


final

添加有关键字final的成员变量,说明在构造对象的时候必须初始化。并且之后的操作不能再对其修改


static

静态成员变量代表,所有的对象同时拥有着一个变量。

静态成员方法也只能访问静态成员变量。静态成员通过类名调用。(虽然对象也可以,但是不建议)


传参(重要)

在Java中,所有的传参都是按照值传递的方式。

传普通变量,是按值传递。

传类对象,也是按值传递。但是类对象使用new在堆上构造的,所以类对象其实保存的是一个地址,该地址对应堆上的对象。所以如果参数传的的是类对象,其实传的也就是那个地址的值的拷贝。

再强调一下:

  • 对于基本数据类型来说 “=”赋值操作是直接改变内存地址(存储单元)上的值。
  • 对于引用类型来说 “=” 赋值操作是改变引用变量所指向的内存地址。

对象构造

Java支持在类中写了成员变量后直接给一个初始值。甚至可以这样:

class Employee
{
    private static int nextId;
    private int id = assignl();
    ...
    private static int assignl()
    {
        int r = nextId;
        nextId++;
        return r;
    }
}

注:

  1. 在Java的构造方法中如果第一句是this(..);那么这句话可以调用该类的另一个构造方法。
  2. 在Java的构造方法中还存在初始化块的概念。例子:
class Employee
{
    private static int nextId;
    private int id;
    ...
    //初始化块
    {
        id = 1;
    }
    //静态初始化块
    static
    {
        nextId = 1;
    }
}

这些初始化块会在调用构造函数时在构造函数函数体之前执行。


Java使用包(package)将类组织起来。包的作用就是防止名命冲突。

从编译的角度看,嵌套包之间没有任何关系。例如:java.util包和java.util.jar包

导包:使用import语句。该语句类似于C++中的namespace和using。

打包:package语句。

类的路径必须与包名匹配。


文档注释

JDK包含一个工具叫javadoc,它可以由源文件生成一个HTML文档。在源代码中添加/**开始的注释,可以将代码和注释保存在一个地方。

类注释

方法注释

  1. @param 变量描述
  • 这个标记将对当前方法的“param”(参数)部分添加一个条目。一个方法的所有@param标记必须放在一起。
  1. @return 描述
  • 这个标记将对当前方法添加“return”(返回)部分。
  1. @throws类描述
  • 这个标记将添加一个注释,用于表示这个方法有可能抛出异常。


类的设计技巧

  1. 保证数据私有
  2. 保证数据初始化
  3. 不要再类中使用过多的基本类型
  4. 将职责过多的类分解
  5. 类名方法名要能体现出其职责
  6. 优先使用不可变类

原文地址:https://www.cnblogs.com/LampsAsarum/p/12222043.html

时间: 2024-10-13 22:35:04

【Java】对象与类的相关文章

Java 对象和类

1.访问实例变量和调用成员方法: 2. 在该例子中,我们创建两个类:Employee 和 EmployeeTest. 首先打开文本编辑器,把下面的代码粘贴进去.注意将文件保存为 Employee.java. Employee类有四个成员变量:name.age.designation和salary.该类显式声明了一个构造方法,该方法只有一个参数. 程序都是从main方法开始执行.为了能运行这个程序,必须包含main方法并且创建一个实例对象. 下面给出EmployeeTest类,该类实例化2个 Em

[Java学习笔记]-Java对象和类

Java是完全面向对象的高级语言,其基本的操作基本都是针对相应的对象和类.面向对象的程序是由对象组成的,每个对象包含对用户公开的特定功能部分和隐藏的实现部分.对应面向对象的语言,还有一种面向过程的语言,如C语言.面向对象的语言是在面向过程语言的基础上发展而来的.面向对象(OOP,全称为Object-Oriented-Programer,下文简称为OOP)相对于面向过程的语言而言,其优势在于很多问题的解决方法被封装在对象里,有时只需要创建这样的对象就可以解决我们的问题,而不必关心其具体实现细节,这

Java对象转xml报文和xml报文转Java对象帮助类

import javax.xml.bind.JAXBContext; import javax.xml.bind.JAXBException; import javax.xml.bind.Marshaller; import javax.xml.bind.Unmarshaller; import java.io.StringReader; import java.io.StringWriter; import java.io.Writer; /** * xml和java对象转换帮助类 * Cre

Java对象和类

转自原文:http://www.yiibai.com/java/java_object_classes.html java是一种面向对象的语言.由于具有面向对象特性的语言,Java支持以下基本概念: 多态性 继承 封装 抽象化 类 对象 实例 方法 消息解析 在本章中,我们将探讨类和对象这些概念. 对象 - 对象具有状态和行为.例如:狗有状态 - 颜色,名称,繁殖以及行为,摇头晃脑,吠叫,吃.对象是类的实例. 类 - 一个类可以被定义为描述行为的模板/蓝色印花/指出其类型支持的对象. Java对

java 对象与类

类与类之间的关系 一.继承关系      继承指的是一个类(称为子类.子接口)继承另外的一个类(称为父类.父接口)的功能,并可以增加它自己的新功能的能力.在Java中继承关系通过关键字extends明确标识,在设计时一般没有争议性.在UML类图设计中,继承用一条带空心三角箭头的实线表示,从子类指向父类,或者子接口指向父接口. 二.实现关系      实现指的是一个class类实现interface接口(可以是多个)的功能,实现是类与接口之间最常见的关系.在Java中此类关系通过关键字implem

java对象与类

1.构造器总是伴随着new操作符的执行而被调用,而不能对一个已经存在的对象调用构造器来达到重新设置实例域的目的. 2.静态域与静态方法 如果将类定义为static,每一个类只有一个这样的域.静态域是属于类的,而不属于任何独立的对象,其又被称为类域. 静态方法是一种不能向对象实施操作的方法,但是他可以访问自身类中的静态域. main方法也是一个静态方法,main方法不对任何对象进行操作,实际上,在启动程序时还没有任何一个对象.静态的Main方法将执行并创建所需要的对象. 3.方法参数 常见的将参数

Java对象、类、消息和特性

面向对象编程基础 ?  对象 对象object就是变量和相关的方法的集合,其中变量表明对象的状态,方法表明对象所具有的行为. 对象是有状态(数据)和行为(功能)等内容的.例如:要说明一个学生,需要提供姓名.学号.出生日期.专业.兴趣爱好等,这些用于描述对象的数据元素称为对象属性.而学生的行为会包括注册.选课.考试等,这些表示对象可能产生的操作称为对象的行为(或操作.方法). ?  类 类class中定义一类对象共有的变量和方法.把一个类实例化即生成该类的一个对象. 类(class)是同一类型对象

java对象锁&类锁

首先,来看一段代码. 1 public class PersonSet { 2 3 private final Set<Person> mySet = new HashSet<Person>(); 4 5 public synchronized void add(Person p){ 6 mySet.add(p); 7 } 8 9 public synchronized boolean contains(Person p){ 10 return mySet.contains(p);

json字符串转java对象实体类

DpRccEntity rccData = JSON.parseObject(JSONObject.toJSONString("JSONString",DpRccEntity.class); 导入的包为:import com.alibaba.fastjson.JSON; 原文地址:https://www.cnblogs.com/huyanlon/p/10907726.html

java基础知识-对象和类

前言: 因为要准备Java面试,所有将java基础知识点重新复习一遍,主要笔记来源于菜鸟教程和java核心技术的书籍中,也有一些博客上的资料(这些只供我个人学习使用) Java 对象和类 对象:对象是类的一个实例,有状态和行为.例如,一条狗是一个对象,它的状态有:颜色.名字.品种:行为有:摇尾巴.叫.吃等. 类:类是一个模板,它描述一类对象的行为和状态. 下图中男孩女孩为类,而具体的每个人为该类的对象: 1.Java中的对象 现在让我们深入了解什么是对象.看看周围真实的世界,会发现身边有很多对象