java入门学习(4)— 类,对象理解,如何创建类,对象
1、什么是类?
具有一定相同的属性的对象的集合就叫类。
2、对象:类的具体实例,就是类的实例化。比如学生是一个类(student),那学生里面的小红就是一个对象,一个有学生的属性的对象。
3、如何定义一个类:
语法格式: 【修饰符】 class 【类名称】
{
零到多个构造器定义;
零到多个属性定义;
零到多个方法定义;
}
说明:修饰符可以是,public,protected,absturted,之一,或者是省略。
类名称:只要是合法的标识符就可以,
对于类来说,最常见的成员就是构造器,属性,和方法。
4、属性:用于定义该类,或者该类的实例所包含的数据。
定义的语法:【修饰符】 属性类型 属性名 【= 默认值】
修饰符:可以省略,其中public,protected、private三者只能出现一个、可以和final或者static组合起来使用。
属性类型:java允许的任何数据类型
属性名:合法的表示符
默认值:对于属性的默认赋值或者定义,(可选)
5、方法:方法是用于定义该类或者该类的实例的行为特征,或者功能的实现。
定义的语法:【修饰符】 方法返回值类型 方法名(形参列表)
{ //由零到多条可执行性的语句组成的可以完成某一功能的的方法体
}
修饰符:可以省略,也可以是public,protected、private、static、final、abstract,其中public,protected、private、只能出现其中一个;final、和abstract也只能出现一个,还可以与static(定义一个静态的属性)组合起来使用 。
方法返回值类型:放回类型可以是其允许的任何数据类型,当然,相应的返回值类型应该和这个这个相一致,没有返回值的话请用void。
方法名:合法的标识符。
形参列表:形参列表用于定义这个方法可以接受的参数,形参列表由零到多组组成,用英文逗号隔开,一旦定义了形参列表,则调用该方法的时候必须一一对应的传入对应的参数值。(谁调用,则谁负责为形参赋值)
方法体:就是有一些可执行的句子(比如可以是输出,可以是查找后返回要的值等)。
5、构造器:构造器是用于构造该类的实例,java通过new关键字来调用构造器,从而返回实例。这是一个类创建对象的根本途径。其实也是一个特殊的方法。
语法:【修饰符】 构造器名 (形参列表)
{ //零到多条可执行语句组成的构造器执行体
}
修饰符:可以省略,亦可是public,protected,private之一。
构造器名;构造器名必须与类型名一致。
形参列表:形参列表用于定义可以接受的参数,一旦定义了形参列表,则调用该方法的时候必须一一对应的传入对应的参数值。(谁调用,则谁负责为形参赋值)
**注**a、当没有自己创建构造器的时候,系统会有默认的构造器,但是如果自己创建了构造器,则会默认的构造器则会消失,如果想用也要自己创建。
b、构造器不能定义返回值类型;也不能用void定义没有返回值,如果犯了前面的错误,编译时不会错,因为其会把之当成是方法处理。
c、虽然当我门用new调用构造器来实例化一个类的时候,返回的是这个类,也即是给这实例赋予了这个类的属性,但是不能在构造器内用return返回当前类的对象,因为构造器是隐式的。
例程:
public class Preson
{
//定义属性
public String name;
public int age;
//定义一个构造器
public Preson (){};//默认的构造器需要保留
public Preson (String name,int age )
{
//执行体
}
//定义一个说语言的方法
public void say(String content)
{
System.out.println(content)
}
}
注:1、类里各个成员之间可以相互调用,但static修饰的成员之间不能访问没有static修饰的成员。因为静态的一开始就存在了,而非静态的却还没有产生如何调用?
6、static关键字详解:
a、用static定义的属性属于全局变量,不会改变,存在静态方法区,一般是共有的属性,一变大家变。
b、静态变量或者方法属于类,而不是对象,所以调用的时候应该用类名直接调用,而不是使用对象调用
eg: Book.outputfactory=”beijin”; 而不是B1.outputfactory=”beijin”;
c、静态数据(变量或者方法)会在一开始就载入内存直到程序结束。
d、普通类不能定义为static类
几条限制:1、其只能调用其他的static方法,只能访问static数据。
2、不能以任何方式引用this或者super,因为其不属于对象,不能调用this。
java入门学习(4)— 类,对象理解,如何创建类,对象的更多相关文章
- Java入门学习路线目录索引
原创 Java入门学习路线目录索引 版权声明:本文为博主原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明. 本文链接:https://blog.csdn.net/One_ ...
- 22.编写一个类A,该类创建的对象可以调用方法showA输出小写的英文字母表。然后再编写一个A类的子类B,子类B创建的对象不仅可以调用方法showA输出小写的英文字母表,而且可以调用子类新增的方法showB输出大写的英文字母表。最后编写主类C,在主类的main方法 中测试类A与类B。
22.编写一个类A,该类创建的对象可以调用方法showA输出小写的英文字母表.然后再编写一个A类的子类B,子类B创建的对象不仅可以调用方法showA输出小写的英文字母表,而且可以调用子类新增的方法sh ...
- C# 直接创建多个类和使用反射创建类的性能
原文:C# 直接创建多个类和使用反射创建类的性能 本文告诉大家我对比的使用直接创建多个类和使用反射创建多个类的性能 在上一篇 C# 程序内的类数量对程序启动的影响 的基础上,继续做实验 现在创建 10 ...
- 2019-11-29-C#-直接创建多个类和使用反射创建类的性能
原文:2019-11-29-C#-直接创建多个类和使用反射创建类的性能 title author date CreateTime categories C# 直接创建多个类和使用反射创建类的性能 li ...
- 2019-8-31-C#-直接创建多个类和使用反射创建类的性能
title author date CreateTime categories C# 直接创建多个类和使用反射创建类的性能 lindexi 2019-08-31 16:55:58 +0800 2018 ...
- java入门学习笔记之1(类的定义,代码的编译执行)
这篇文章讲解Java代码的基本执行过程 我们先抛开各种JAVA IDE,开发工具,只使用文本编辑器,以突出最本质的东西. 在Linux环境下,我们编辑一个文件: vim HelloWorld.java ...
- Java入门学习知识点汇总
Java入门重要知识点在这里总结一下,以方便日后复习,这部分内容主要有:变量和常量,常用的运算符,流程控制语句,数组,方法这些内容 一.变量和常量 1.Java关键字 先贴张图: 所有关键字区分大小写 ...
- java入门学习总结_04
1.循环结构 2.方法 循环结构 概述 1.对于某些需要重复执行的,相同或者相似的语句,使用某种格式来完成对代码的简化. 2.实现的语句: for语句[常用] while语句[常用] do...whi ...
- Java 入门学习知识点整理
[JAVA一个文件写多个类 ( 同级类 ) 规则和注意点] 在一个.java文件中可以有多个同级类, 其修饰符只可以public/abstract/final/和无修饰符 public修饰的只能有一 ...
随机推荐
- CSS样式遇见的问题总结记录
一.子元素都是浮动元素时,父元素最好是不用设置高度,防止子元素不设置高度溢出父元素 有时候会有零点几的误差高度 直接设置子元素高度即可 通过 clear: both;清除子元素浮动达到父元素自适应高度 ...
- centos7下使用yum安装mysql数据库
CentOS7的yum源中默认是没有mysql的.为了解决这个问题,我们要先下载mysql的repo源. 1.下载并安装MySQL官方的 Yum Repository wget -i -c http: ...
- SpringMVC封装表单数据
1.domain类 package com.xiaostudy.domain; public class User { private int id; private String username; ...
- filezilla无法启动传输及严重文件传输错误
filezilla无法启动传输 严重文件传输错误 文件夹权限不够,修改之. 你的空间或服务器已经满了,请空下回收站或者扩容. 文件正在被占用,关闭后传输
- Python基础笔记系列十:模块
本系列教程供个人学习笔记使用,如果您要浏览可能需要其它编程语言基础(如C语言),why?因为我写得烂啊,只有我自己看得懂!! 模块 #1.类比于java中的jar包,模块能让你能够有逻辑地组织你的Py ...
- Canvas绘制不规则图形,实现可拖动,编辑--V1.0第一篇
目前的工作在做在线的标注工具,接触canvas一年了,各种绘制,基本上图像的交互canvas都可以完成,也写了几篇关于canvas的文章,遇到的问题也写博客上了,对于canvas有问题的朋友可以去看看 ...
- 【Python】学习笔记之函数
Python函数 在Python中,一切皆为对象,函数也可以赋给一个变量,就是指向一个函数对象的引用,相当于给这个函数起了一个“别名”: >>> a = max >>&g ...
- 【Python】简单实现爬取小说《天龙八部》,并在页面本地访问
背景 很多人说学习爬虫是提升自己的一个非常好的方法,所以有了第一次使用爬虫,水平有限,依葫芦画瓢,主要作为学习的记录. 思路 使用python的requests模块获取页面信息 通过re模块(正则表达 ...
- PHP运算符-算术运算符、三元运算符、逻辑运算符
运算符是用来对变量.常量或数据进行计算的符号,它对一个值或一组值执行一个指定的操作.PHP的运算符包括算术运算符.字符串运算符.赋值运算符.位运算符.逻辑运算符.比较运算符.递增或递减运算符.错误控制 ...
- go Rails 知识点,Concepts Series:url和parameter; 建立Rails App Templates;报错页面debug; counter_cache
Rails Concepts Series: https://gorails.com/series/rails-concepts 基本都是免费的 一些细小的知识点,很有帮助. URL和paramete ...