- 浏览: 335512 次
- 性别:
- 来自: 安徽
文章分类
最新评论
-
fanjf:
因为不是太懂,所以摘录!
DataStage---向目的库插入时出现问题:MLOG$ -
fanjf:
oracle 位图索引:位图索引: 解决某一表数据很多,但某一 ...
【转】 mysql 添加列,修改列,删除列。 -
fanjf:
创建索引:CREATE TABLE mm (m1 CHAR(1 ...
【转】 mysql 添加列,修改列,删除列。 -
fanjf:
查询mysql 的表emp 的约束:
SELECT * FR ...
【转】 mysql 添加列,修改列,删除列。 -
fanjf:
为什么 update 不报错,结果为空?
关于MYSQL 检查check约束
方法
访问修饰符 修饰符 返回类型 方法名称( 参数列表 ) throws 违例列表
(1) 类的构造器方法不能够有修饰符、返回类型和 throws 子句
(2) 类的构造器方法被调用时,它首先调用父类的构造器方法,然后运行实例变量和静态变量的初始化器,然后才运行构造器本身。
(3) 如果构造器方法没有显示的调用一个父类的构造器,那么编译器会自动为它加上一个默认的 super() ,而如果父类又没有默认的无参数构造器,编译器就会报错。 super 必须是构造器方法的第一个子句。
(4) 注意理解 private 构造器方法的使用技巧。
详解JAVA类的静态器(static)和静态方法:
通常,我们创建类时会通过关键字new方式声明一个类的实例对象,即:
ClassA classA = new ClassA();
在通过类的实例对象调用该类的方法。
如果声明一个类的实例对象,但没有创建该对象。即:
ClassA classA = null;
实际上是不能得到该类的任何东西的。只有执行了new运算,才会正式产生数据存储空间,并可使用调用该类的所有的方法(除了私有方法)。
但在两种特殊的情形下,上述方法并不够用。一种情形是只想用一个存储区域来保存一个特定的数据——无论要创建多少个对象,甚至根本不创建对象。另一种情形是我们需要一个特殊的方法,它没有与这个类的任何对象关联。也就是说,即使没有创建对象,也需要一个能调用的方法。为满足这两方面的要求,可使用static(静态)关键字。一旦将什么东西设为static,数据或方法就不会同那个类的任何对象实例联系到一起。所以尽管从未创建那个类的一个对象,仍能调用一个static方法,或访问一些static数据。而在这之前,对于非static数据和方法,我们必须创建一个对象,并用那个对象访问数据或方法。这是由于非static数据和方法必须知道它们操作的具体对象。当然,在正式使用前,由于static方法不需要创建任何对象,所以它们不可简单地调用其他那些成员,同时不引用一个已命名的对象,从而直接访问非static成员或方法(因为非static成员和方法必须同一个特定的对象关联到一起)。
有些面向对象的语言使用了“类数据”和“类方法”这两个术语。它们意味着数据和方法只是为作为一个整体的类而存在的,并不是为那个类的任何特定对象。有时,您会在其他一些Java书刊里发现这样的称呼。
为了将数据成员或方法设为static,只需在定义前置和这个关键字即可。例如,下述代码能生成一个static数据成员,并对其初始化:
class StaticClassA {
static String str = “我是一个静态变量,在类的实例化时,首先调用我,为我分配物理存储空间,然后才可以调用类的构造方法”;
public StaticClassA(){
System.out.println(“已经为本类的所有静态变量分配了物理存储空间”);
}
}
测试案例:
/**
* 通过不同的调用方式,测试类的静态器和静态方法的加载顺序
* @author fanjf
* @date 2012-2-25
*/
public class StaticMethod {
static{
System.out.println("StaticMethod 的静态器");
}
/**
* 当不是通过new创建一个类的实例,直接调用这个类的静态方法是否执行该类的静态器
* @return void
* @author fanjf
* @date 2012-2-25
*/
public static void testStaticMethod(){
System.out.println("StaticMethod 的静态方法");
}
}
在写一个测试类,测试上述类的静态器和静态方法的加载顺序:
(1)
执行代码:StaticMethod sm = new StaticMethod();
输出语句:
StaticMethod 的静态器
这是最基本的,也是大家很容易理解:实例化类时,自动加载类的静态器。
(2)
执行代码:StaticMethod me = null;
则不输出任何语句。
这是因为:声明一个类的对象,但没有实例化,不加载该类的任何东西。
(3)
执行代码:StaticMethod.testStaticMethod();
输出语句:
StaticMethod 的静态器
StaticMethod 的静态方法
这是为什么呢?这就要谈到:JAVA类的加载,连接与初始化。
Java程序对类的使用方式可分为两种:主动使用和被动使用。
所有的Java虚拟机实现必须在每个类或接口被Java程序“首次主动使用”时才初始化他们。
主动使用分为六种:
1,创建类的实例;
2,访问某个类或接口的静态变量,或者对该静态变量赋值。
3,调用类的静态方法
4,反射:如Class.forName(“类的全名:com.fanjf.StaticMethod”)
5,初始化一个类的子类(它会首先加载其父类的所有静态成员:静态变量,静态器。不包含静态方法)。
6,Java虚拟机启动时被标明为启动类的类。
除了以上6种情况,其他使用Java类的方式都被看作是对垒的被动使用,都不会导致类的初始化。
如 ClassA classA = null。
所以上述输出是因为主动使用了Java类的第三种:
(4)
如果一起执行如下代码,则输出什么呢?大家不妨动手试试:调用类的静态方法。
StaticMethod me = null;
System.out.println("——————————————");
StaticMethod.testStaticMethod();
System.out.println("——————————————");
StaticMethod sm = new StaticMethod();
发表评论
-
JAVA 统一追加扩展名类
2014-07-07 15:34 983最近有人反应某云盘,无法上传视频,我也倍受困扰,后来发现MD ... -
java中替换字符以及回车换行
2014-02-14 13:47 1918[java] view plaincopy 1. / ... -
[转]java中替换字符以及回车换行
2013-11-13 09:18 3411//第一种方式 import java.util.r ... -
Caused by: java.lang.OutOfMemoryError: PermGen space
2013-07-30 16:43 693Caused by: java.lang.OutOfMemo ... -
nested exception is java.sql.BatchUpdateException: 批处理中出现错误: ORA-00972: 标识符过长
2013-07-30 16:21 4458最近开发项目,跑批处理遇到一个问题: 2013-07-28 ... -
软件架构师必读书籍--------软件架构师推荐书籍系列
2012-09-23 17:02 4095一、架构篇 1. 《Softw ... -
【异常】Error configuring application listener of class xxx.xxx.xxx
2012-04-01 11:26 4769严重: Error configuring applicati ... -
Java复制、移动、删除、获取大小文件
2012-03-31 11:12 1806利用Apache Commons IO工具包(commons- ... -
Java中的Enum简单例子
2012-03-31 11:12 1330package com.util.enumclass; /* ... -
Java中的Enum的使用与分析
2012-03-30 11:28 954示例: package com.util.enumclass ... -
分享文件一个上传工具类
2012-03-30 10:57 970最近在搭建一个项目,需要用到很多通用的工具类,自己也写了几个。 ... -
缩放图片工具类,创建缩略图、伸缩图片比例
2012-03-30 10:54 874支持将Image的宽度、高度缩放到指定width、height ... -
Java创建、重命名、删除文件和文件夹
2012-03-30 10:52 1660package test.file; import java ... -
Java操作文件工具类
2012-03-30 10:48 1102JAVA API关于操作文件基础类太少,而且缺乏很多使 ... -
java获得实例对象的几种方法
2012-03-29 17:49 1029// 1.new Dog d1 = new Dog ... -
【异常】net.sf.hibernate.NonUniqueObjectException
2012-03-22 16:06 862net.sf.hibernate.NonUniqueObjec ... -
Java虚拟机原理
2012-03-22 15:47 837一、什么是Java虚拟机 ... -
【异常】org.springframework.orm.hibernate3.HibernateQueryException
2012-03-20 10:44 3003今天新同事遇到一个异常,通过如下方法做一个单元测试: /** ... -
【异常】javax.imageio.IIOException: Can't get input stream from URL!
2012-03-19 11:42 9683Exception in thread "main& ... -
Error reading tld listeners java.lang.NullPointerException
2012-03-16 17:40 1565在学习【FreeMarker整合Spring 3.0】时把相应 ...
相关推荐
1.程序功能说明: MATLAB实现多种群遗传算法(完整代码) 逼近C=[9,8,7,6,5,4,3,2,1]的9维向量. 2.代码说明:注释清晰,参数和变量说明清晰,方便更改、方便初学者使用,模块化编程,方便替换目标函数。运行环境Windows7及以上操作系统,MATLAB2014a及以上版本。 3.适用专业:计算机、电子信息工程、数学、物理、机械工程、土木工程等专业的大学生、研究生毕业设计,各类专业的课程设计、海外留学生作业等。 4作者介绍:资深算法工程师, 从事Matlab、Python算法仿真工作15年,专业研究遗传算法、粒子群算法、蚁群算法、鲸鱼算法、狼群算法等. 有问题联系QQ: 1579325979
免费JAVA毕业设计 2024成品源码+论文+数据库+启动教程 启动教程:https://www.bilibili.com/video/BV1SzbFe7EGZ 项目讲解视频:https://www.bilibili.com/video/BV1Tb421n72S 二次开发教程:https://www.bilibili.com/video/BV18i421i7Dx
免费JAVA毕业设计 2024成品源码+论文+录屏+启动教程 启动教程:https://www.bilibili.com/video/BV1SzbFe7EGZ 项目讲解视频:https://www.bilibili.com/video/BV1Tb421n72S 二次开发教程:https://www.bilibili.com/video/BV18i421i7Dx
小学元旦晚会PPT 模版
免费JAVA毕业设计 2024成品源码+论文+数据库+启动教程 启动教程:https://www.bilibili.com/video/BV1SzbFe7EGZ 项目讲解视频:https://www.bilibili.com/video/BV1Tb421n72S 二次开发教程:https://www.bilibili.com/video/BV18i421i7Dx
MATLAB中的语义分割技术探究与应用实践,matlab,语义分割 ,matlab; 语义分割,Matlab语义分割技术解析
免费JAVA毕业设计 2024成品源码+论文+数据库+启动教程 启动教程:https://www.bilibili.com/video/BV1SzbFe7EGZ 项目讲解视频:https://www.bilibili.com/video/BV1Tb421n72S 二次开发教程:https://www.bilibili.com/video/BV18i421i7Dx
1、文件内容:pulseaudio-10.0-6.el7_9.rpm以及相关依赖 2、文件形式:tar.gz压缩包 3、安装指令: #Step1、解压 tar -zxvf /mnt/data/output/pulseaudio-10.0-6.el7_9.tar.gz #Step2、进入解压后的目录,执行安装 sudo rpm -ivh *.rpm 4、安装指导:私信博主,全程指导安装
"基于OpenCV与深度学习的人脸表情识别系统:利用Python与PyQt构建的可视化实时检测工具",基于OpenCV的人脸表情识别系统 相关技术:python,opencv,pyqt,深度学习 (请自行安装向日葵远程软件,以便提供远程帮助) 可编译为.exe文件。 软件说明:摄像头实时检测,加载照片,视频均可。 有基础的同学,可自行修改完善。 第一张和第二张为运行截图。 ,基于OpenCV的人脸表情识别系统; Python; OpenCV; PyQt; 深度学习; 实时检测; 照片和视频支持; 可编译为.exe文件; 运行截图。,"基于OpenCV与深度学习的人脸表情识别系统"
,步进方案,步进源码,两相步进矢量控制,超前角控制两种模式,成熟产品方案 支持特殊功能定制
三相储能PCS双向能量流动与Matlab仿真控制研究——基于SVPWM调制技术的建模与应用,三相储能PCS(Matlab仿真) 1.可实现Grid to Battery,Battery to Grid的能量双向流动。 2.本仿真基于Matlab仿真建立的模型, 3.采用SVPWM进行控制 ,三相储能PCS; 双向能量流动; Matlab仿真; SVPWM控制,三相储能PCS:能量双向流Matlab仿真模型(SVPWM控制)
deepseek部署教程.md
nodejs010-nodejs-ansicolors-0.3.2-1.el6.centos.alt.noarch.rpm
基于三菱PLC的四路抢答器控制系统原理及实践:含带解释的梯形图与IO分配图解,三菱 MCGS 基于PLC的四路抢答器控制系统 带解释的梯形图接线图原理图图纸,io分配,组态画面 ,三菱MCGS; PLC四路抢答器; 控制系统; 梯形图接线图; 原理图图纸; IO分配; 组态画面。,三菱PLC四路抢答器控制系统原理图及组态画面解析
基于运动数据时空特征提取的人类运动片段.pdf
基于机器学习的选股模型及投资组合研究.pdf
ollama安装包。。。。。。。。。。。。。。。。。
nodejs010-nodejs-ansistyles-0.1.3-1.el6.centos.alt.x86_64.rpm
Screenshot_20250201_111207_com_tencent_mm_LauncherUI.jpg
基于时空Transformer的端到端的视频注视目标检测.pdf