java类的定义的实例_《Java基础知识》Java类的定义及其实例化

类必须先定义才能使用。类是创建对象的模板,创建对象也叫类的实例化。

下面通过一个简单的例子来理解Java中类的定义:

public classDog {

String name;intage;void bark()//汪汪叫

{

System.out.println("汪汪,不要过来");

}voidhungry()

{

System.out.println("主人,我饿了");

}

}

对示例的说明:

1.public 是类的修饰符,表明该类是公共类,可以被其他类访问。

2.class 是定义类的关键字。

3.Dog是类的名称。

4.name,age是类的成员变量,也叫属性;bark(),hungry()是类中的函数,也叫方法。

一个类可以包含以下类型变量:

1.局部变量:在方法或者语句块中定义的变量被称为局部变量。变量声明和初始化都是在方法中,方法结束后,变量就会自动销毁。

2.成员变量:成员变量是定义在类中,方法体之外的变量。这种变量在创建对象的时候实例化(分配内存)。成员变量可以被类中的方法和特定类的语句访问。

3.类变量:类变量也声明在类中,方法体之外,但必须声明为static类型。static也是修饰符的一种。

构造方法

在类实例化的过程中自动执行的方法叫做构造方法,它不需要你手动调用。构造方法可以在类实例化的过程中做一些初始化的工作。

构造方法的名称必须与类的名称相同,并且没有返回值。

每个类都有构造方法。如果没有显式地为类定义构造方法,Java编译器将会为该类提供一个默认的构造方法。

public classDog {

String name;intage;//构造方法,没有返回值

Dog(String name1,intage1)

{

name=name1;

age=age1;

System.out.println("感谢主人领养了我");

}//普通方法,必须有返回值

voidbark()

{

System.out.println("汪汪,不要过来");

}voidhungry()

{

System.out.println("主人,我饿了");

}public static voidmain(String[] args)

{//创建对象时传递的参数要与构造方法参数列表对应

Dog myDog = new Dog("花花",3);

}

}

运行结果:

de8be34e7185a6b8a7257ce1e295f51e.png

public classPeople

{

String name;

String sex;intage;//无参的构造方法(可以不写编译器自动加上,前提是没有任何其他构造方法)

People(){}//有参的构造方法

People(String name,String sex,intage)

{this.name =name;this.sex =sex;this.age =age;

}//部分初始化

People(String name)

{this.name =name;

}

People(String name,intage)

{this.name =name;this.age =age;

}public static voidmain(String[] args)

{

People p= newPeople();

System.out.println(p.name);

System.out.println(p.sex);

System.out.println(p.age);

People p1= new People("张三","男",30);

System.out.println(p1.name+","+p1.sex+","+p1.age);

People p2= new People("老王");

System.out.println(p2.name);

People p3= new People("小老虎",3);

System.out.println(p3.name+","+p2.age);

}

}

说明:

构造方法不能被显式调用。

构造方法不能有返回值,因为没有变量来接收返回值

创建对象

对象是类的一个实例,创建对象的过程也叫类的实例化。对象是以类为模板来创建的。

在Java中,使用new关键字来创建对象,一般有以下三个步骤:

1.声明:声明一个对象,包括对象名称和对象类型

2.实例化:使用关键字new来创建一个对象。

3.初始化:使用new创建对象时,会调用构造方法初始化对象。

例如:

Dog myDog;//声明一个对象

myDog = new Dog("花花",3);//实例化

Dog myDog = new Dog("花花",3);

访问成员变量和方法

通过已创建的对象来访问成员变量和成员方法,例如:

//实例化 Dog myDog = new Dog("花花",3);

//通过点号访问成员变量 myDog.name;

//通过点号访问成员方法 myDog.bark();

案例:

public classDog

{

String name;intage;

Dog(String name1,intage1)

{

name=name1;

age=age1;

System.out.println("感谢主人领养了我");

}voidbark()

{

System.out.println("汪汪,不要过来");

}voidhungry()

{

System.out.println("主人,我饿了");

}public static voidmain(String[] args)

{

Dog myDog= new Dog("花花",3);//访问成员变量

String name =myDog.name;int age =myDog.age;

System.out.println("我是一只小狗,我名字叫" + name + ",我" + age + "岁了");//访问方法

myDog.bark();

myDog.hungry();

}

}

运行结果:

0ea9a887237bb4bc988152fa4ca5c513.png

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/557900.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

excel mysql插件_智分析Excel插件

智分析Excel插件官方版是一款好用的自助分析云平台,智分析Excel插件官方版是一款面向业务用户的EXCEL插件工具,智分析Excel插件官方版支持各类云端数据库、本地excel数据导入功能,软件能够将本地数据和线上数据结合起来分析。软件可以帮助办公…

【计算机网络】——习题解析:一个UDP用户数据的数据字段为8192字节,在数据链路层要使用以太网来传输,试问应当划分为几个IP数据报片?说明每一个IP数据报字段长度和片偏移字段的值

【计算机网络】——习题解析:一个UDP用户数据的数据字段为8192字节,在数据链路层要使用以太网来传输,试问应当划分为几个IP数据报片?说明每一个IP数据报字段长度和片偏移字段的值 答:6个数据字段的长度:前5…

网络协议,各层功能,各层协议

一、OSI七层模型 OSI七层协议模型主要是:应用层(Application)、表示层(Presentation)、会话层(Session)、传输层(Transport)、网络层(Network)、数…

fastdfs java token_fastdfs-client-java操作fastdfs

一、在https://github.com/happyfish100/fastdfs-client-java 下载客户端,解压后并执行ant命令,在E:\tools\libs\fastdfs\fastdfs-client-Java-master\src\build下会生成fastdfs_client.jar如图示二、mvn安装fastdfs_client.jar,在cmd中执行命…

idea编辑器中使用@Data注解无效解决办法

使用Data注解可以减少了以前的get和set等方法,但是在idea编辑器中不认识会在使用实体类元素时候找不到(但是运行不会报错) 所以可以添加插件

@Mapper和@Repository的区别

Mapper和Repository的区别 1.相同点 Mapper和Repository都是作用在dao层接口,使得其生成代理对象bean,交给spring 容器管理 对于mybatis来说,都可以不用写mapper.xml文件 2.不同点 Mapper不需要配置扫描地址,可以单独使用&#x…

git本地库(操作具体命令)

在任何盘符下创建本地仓库repository(除git目录下) 在项目目录创建新的本地仓库,并把项目里的所有文件全部添加、提交到本地仓库中去: $ git init #在当前的目录下创建一个新的空的本地仓库 Initialized empty Git repository…

idea右键项目没有git 【解决方法】

右键项目,没有git选项 解决方法: 进入settings,然后搜索version,按下图点击即可: over,解决:

用java设计秒表_运用Java编写 秒表程序

import java.awt.*;import java.awt.event.*;import javax.swing.*;public class SecondJFrame extends JFrame implements ActionListener,FocusListener{ //响应单击、焦点事件private JTextField text;private JB…

GIT commit问题 No errors and 30 warnings found. Would you like to review them?

GIT commit问题 No errors and 30 warnings found. Would you like to review them?

java spring 条件注解_【Spring】Spring高级话题-条件注解-@Condition

进行本示例的演示,需要先配置好Maven和Spring哦、见:【Spring】基于IntelliJ IDEA搭建Maven分析通过profile,我们可以获得不同的profile,我们可以获得不同的Bean。Spring4提供了一个更通用的基于条件的Bean的创建,即使用Condition…

解决springBoot 的templates中html引入css文件失败

我的情况是网页打开没有css效果 文件结构: 解决办法1:修改路径(springBoot已经默认静态资源在static文件夹)只需href“css/你的.css” 解决办法2:增加配置文件 解决办法3:使用 templates语法引入

java并发 cpu高_java高并发核心要点|系列5|CPU内存伪共享

上节提到的:伪共享,今天我们来说说。那什么是伪共享呢?这得从CPU的缓存结构说起。以下如图,CPU一般来说是有三级缓存,1 级,2级,3级,越上面的,越靠近CPU的,速度…

springboot拦截了静态资源css,js,jpg,png等

SpringBoot中自己写的拦截器,居然把静态资源也拦截了,导致了页面加载失败 /****/ Configuration public class SpringMvcWebConfigSupport implements WebMvcConfigurer {/*** 默认访问的是首页** param registry*/Overridepublic void addViewControlle…

java 多态实现的jvm调用过程_多态:JVM是如何进行方法调用的

在我们平时的工作学习中写java代码时,如果我们在同一个类中定义了两个方法名和参数类型都相同的方法时,编译器会直接报错给我们。还有在代码运行的时候,如果子类定义了一个与父类完全相同的方法的时候,父类的方法就会被覆盖&#…

java 0l是多少_Java 构造器 - osc_0ltyoebk的个人空间 - OSCHINA - 中文开源技术交流社区...

Java 基础构造器构造器:构造对象.1.构造方法的名字必须和类名字保持一致.2.构造方法没有返回类型.(不是没有返回值!!!!!!!!!!!!!)3.构造方法可以定义参数,也可以不定义,参数默认的是无参构造.4.构造方法也遵守访问修饰符的限制,5.构造方法也支持方法的重载.6.会先执行方法.什么…

java 皮鞋_java反射

一、反射的概述反射机制允许java程序加载一个运行时才得知其名称的类,获悉其完整API信息,包括其修饰符、超类、实现的接口,也包括属性和方法的所有信息;二、反射的作用能够分析类能力的程序成为反射(reflective)。反射的功能极其强…

Docker启动MySql后连接报1251处理方法

问题描述: docker成功启动mysql容器后使用navicat连接报1251 - Client does not support authentication protocol requested byserver;consider upgrading MySQL client 处理方法: 首先进入MySQL容器内 docker exec -it mysql bash登录MySQL mysql -…

Node.js介绍、优势、用途

一、Node.js介绍 Node.js是一个javascript运行环境。它让javascript可以开发后端程序,实现几乎其他后端语言实现的所有功能,可以与PHP、Java、Python、.NET、Ruby等后端语言平起平坐。 Nodejs是基于V8引擎,V8是Google发布的开源JavaScript引…

RROR in main Module not found: Error: Can‘t resolve ‘index.js‘

第一种方式,使用新的命令 webpack打包的时候报错 webpack版本升级了 这个命令不能用了 用这个就可以: webpack ./index.js -o ./dist./dist是打包文件生成的目录 另一种方式 更改webpack版本,降低版本,还有webpak这个命令 降…