2019-05-15 Java学习日记之面向对象_构造方法&静态static

构造方法

构造方法constructor概述和格式:

A:构造方法概述和作用

给对象的数据(属性)进行初始化

B:构造方法的格式特点

a:方法名与类名相同(大小也要与类名一致)

b:没有返回值类型,连void都没有

c:没有具体的返回值return

注意事项:

1、构造方法不能用对象调用

2、构造方法也是有return语句的,格式是return

构造方法的重载和注意事项:

注意事项:

a:如果我们没有给出构造方法,系统将自动提供一个无参构造方法

b:如果我们给出了构造方法,系统将不再提供默认的无参构造方法

注意:这个时候如果我们还想使用无参构造方法,就必须自己给出,

最好永远自己给出无参构造方法。

给成员变量赋值的两种方式的区别:

A:setXxx()方法

  修改属性值

B:构造方法

  给对象中属性进行初始化

创建对象的步骤:

Student s = new Student();

1、将student.class加载进内存

2、声明一个xx(student)类型引用s

3、在堆内存创建对象

4、给对象中属性默认初始化值

5、属性进行显示初始化

6、构造方法进栈,对对象中的属性赋值,构造方法弹栈

7、将对象的地址值赋给s

静态static  

static关键字的特点:

A:特点

a:随着类的加载而加载

b:优先于对象存在

c:被类的所有对象共享

  如果某个成员变量是被所有对象共享的,那么它就应该定义为静态的

  共性用静态,特性用非静态

d:可以通过类名调用

  它本身也可以通过对象名调用

  推荐使用类名调用

  静态修饰的内容一般称其为:与类相关的,类成员

static的注意事项:

a:在静态方法中是没有this关键字的

  静态是随着类的加载而加载的,this是随着对象的额创建而存在

  静态比对象先存在

b:静态方法只能访问静态的成员变量和静态的成员方法

静态方法:

成员变量:只能访问静态变量

成员方法:只能访问静态成员方法

非静态方法:

成员变量:可以是静态的,也可以是非静态的

成员方法:可以是静态的成员方法,也可以是非静态的成员方法

总结:静态只能访问静态

静态变量和成员变量的区别:

A:所属不同

静态变量属于类,所以也称为类常量

成员变量属于对象,所以也称为实例变量(对象变量)

B:内存中位置不同

静态变量存储与方法区的静态区

成员变量存储于堆内存

C:内存出现时间不同

静态变量随着类的加载而加载,随着类的消失而消失

成员变量随着对象的创建而存在,随着对象的消失而消失

D:调用不同

静态变量可以通过类名调用,也可以通过对象调用

成员变量只能通过对象名调用

如果一个类中所有的方法都是静态的,需要再多做一步,

私有构造方法,目的是不让其他;类创建本类对象

原文地址:https://www.cnblogs.com/clqbolg/p/10872964.html

时间: 2024-10-06 08:47:12

2019-05-15 Java学习日记之面向对象_构造方法&静态static的相关文章

2019-05-17 Java学习日记之面向对象_多态&抽象类&接口

多态 多态的概述: A:多态(polymorphic) 事物存在的多种形态 B:多态前提 a:要有继承关系 b:要有方法重写c:要有父类引用指向子类对象 多态中的成员访问特点之成员变量: 成员变量:编译看左边(父类),运行看左边(父类)多态中的成员访问特点之成员方法:成员方法:编译看左边(父类),运行看右边(子类)多态中的成员访问特点之静态成员方法:静态方法:编译看左边(父类),运行看左边(父类)(静态和类相关,算不上重写,所以访问还是左边的)只有非静态的成员方法,编译看左边,运行看右边 多态的

Java学习日记 week3 面向对象2:封装,继承,多态

一 .包(package) 1.package: 为什么需要package? 为了解决类之间的重名问题. 为了便于管理类:合适的类位于合适的包! package怎么用? 通常是类的第一句非注释性语句. 包名:域名倒着写即可,再加上模块名,并与内部管理类. 其实内部实现就是靠目录结构来做到的. com.sun.test com.oracle.test(com.oracle.test.test1)是两个不同的包: 2.JDK中的主要包: java.lang-包含一些Java语言的核心类,如Strin

Java学习日记(一)基础

标识符: 由26个英文字母大小写,数字:0-9 符号:_ $ 组成 定义合法标识符规则: 1.数字不可以开头. 2.不可以使用关键字. 3.Java中严格区分大小写. Java中的注释格式: 单行注释: 格式: //注释文字 多行注释: 格式: /* 注释文字*/ 文档注释: 格式:/** 注释文字 */ 常量: 常量表示不能改变的数值. java中常量的分类: 1.整数常量.所有整数 2.小数常量.所有小数 3.布尔型常量.较为特有,只有两个数值.true 和false. 4.字符常量.将一个

java学习中,面向对象的三大特性:封装、继承、多态 以及 super关键字和方法的重写(java 学习中的小记录)

java学习中,面向对象的三大特性:封装.继承.多态 以及 super关键字和方法的重写(java 学习中的小记录) 作者:王可利(Star·星星) 封装     权限修饰符:public 公共的,private 私有的     封装的步骤:          1.使用private 修饰需要封装的成员变量.          2.提供一个公开的方法设置或者访问私有的属性              设置 通过set方法,命名格式:     set属性名();  属性的首字母要大写 访问 通过ge

java学习日记第一天

java 学习日记 第一天 java学习准备工作 首先环境配置:一个是jdk安装,另一个编译工具 eclipse ,安装下载教程网上很多 找了一个照着做就行 : 上述步骤完成,我们就可以打开eclipse进行我们第一个程序的编写啦当然是编写我们熟悉的helloWorld创建一个Java Perfect 目前好像基本都习惯用工程管理我们就建一个java工程然后点开工程在src右键new一个class,不用问这是啥这是啥,先把程序跑起来,慢慢就懂了我们在{}写我们的程序,这就好比helloworld

Java学习笔记<3>面向对象相关

面向对象的基本思想 从现实世界客观存在的事务出发来构造软件系统,并在系统的构造中尽可能运用人类的自然思维方式,如抽象.分类 继承.聚合.多态等. 类和对象的关系 对象中存储了类规定的数据类型,并且对象可以调用类的方法. java面向对象 <1>对象是java程序的核心,一切皆对象. <2>对象可以看成静态属性(成员变量)和动态属性(方法)的封装体. <3>类是创新同一类型对象的模版,定义了该类型对象应具有的成员变量及方法. 类的定义 成员变量可以用java语言的任何一种

java学习笔记之面向对象static,final关键字

java学习笔记之面向对象static,final关键字 一.static关键字 1.概述: static静态的,被static修饰的成员属于类,不属于单个对象,被所有对象所共享,存在静态区中,静态的成员优先于对象加载到内存中. 2.statc修饰成员的使用方式:(被static修饰的成员变量有默认值) /* 1.可以通过对象直接使用,不推荐使用 2.通过类名调用静态成员 类名.静态成员变量 类名.静态成员方法 */ 3.static的特点 /* 1.在同一个类中,静态成员只能访问静态成员,非静

Java学习轨迹【面向对象】(持续更新)

其中部分内容为其他博主所作,侵删 6月12日-7月每日更新 Java学习轨迹 一.面向对象 类和对象 1. new关键字所完成的事情 1)为对象开辟了新的内存空间 2)调用类的构造方法 3)返回生成对象的地址 Dog dog=new Dog(); dog是引用,new Dog()生成了一个Dog对象,引用dog指向所生成对象的地址 2.构造方法 1)构造方法必须与类名相同 2)构造方法没有返回值[且不能使用void作返回值] 3)如果在定义类的时候没有为类声明构造方法java编译器会自动为类添加

2019-05-23 Java学习日记之正则表达式&amp;常用工具类

正则表达式 概述: 是指一个用来描述或者匹配一系列符合某个语法规则的字符串的单个字符串. 其实就是一种规则.有自己特殊的应用. 作用: 比如注册邮箱,邮箱有用户名和密码,一般会对其限制长度, 这个限制长度的事情就是正则表达式做的 package com.regex; public class Demo1 { public static void main(String[] args) { // 非正则表达式实现 System.out.println(checkQQ("012345"))