java学习之路:14.类的构造方法,静态变量,常量和方法,类的主方法
1.类的构造方法
类中除了成员方法,还有一种特殊的方法,那就是构造的方法。构造方法是一个与类同名的方法,对象的创建就是通过构造方法完成的,每当类实例化一个对象时,类都会自动调用构造方法。 构造语法如下: public Book() { //构造方法体 } 在构造方法中可以为成员变量赋值,这样当实例化一个本类的对象时,相应的成员变量也将被初始化, 如果类中没有明确定义构造方法,编译器会自动创建一个不带参数的默认构造方法。 如果在类中定义的构造方法都不是无参的构造方法,那么编译器也不会为类设置一个默认的无参构造方法,当试图调用无参构造方法实例化一个对象时,编译器会报错,所有只有在类中没有定义任何构造方法时,编译器才会在该类中自动创建一个不带参数的构造方法。
并且this也可以调用类中的构造方法。
public class array{
//创建一个array类
public array(){
this("fdog");
System.out.println("无参构造方法");
}
public array(String name){
System.out.println("有参构造方法");
}
}
若要使用这种方法,只可以在无参构造方法中的第一句使用this调用有参构造方法。
2.静态变量,常量与方法
由static关键字修饰的变量,常量与方法被称做静态变量,常量与方法。 静态变量,常量与方法被称为静态成员,静态成员属于类所有。 静态数据与静态方法的作用通常时为了提供共享数据或方法,
public class array{//定义一个类
final static douoble PI =3.1415926;//在类中定义静态常量
static int id; //在类中定义静态变量
public static void fun1(){//定义静态方法
//*******************
//*****************
}
public void fun2(){
System.out.println(array.PI);//调用静态常量
System.out.println(array.id);//调用静态变量
array.fun1(); //调用静态方法
}
}
虽然静态成员也可以使用“对象.静态成员”的形式进行调用,但是不建议这样做,因为这样容易混淆静态和非静态成员。 需要注意的点: 在静态方法中不可以使用this关键字。 在静态方法中不可以直接调用非静态方法。 java规定不能将方法体内局部变量声明为static。 如果在执行类时,希望先执行类的初始化动作,可以使用static定义一个静态区域,例如: public class example{ static{ //************************ } } 当这段代码被执行时,首先执行static块中的程序,并且只会执行一次。
3.类的主方法
public static void main(String[] args ) { } 主方法是类的入口点,它定义了程序从何处开始,主方法提供对程序流程的控制,java编译器通过主方法来执行程序。 主方法是静态的,所以在主方法中调用其他方法,被调用方法也必须是静态的。 主方法没有参数。 主方法的形参为数组。
- 如何写好一份渗透测试报告?
- jqGrid 关闭刷新父页面数据
- [MyBatis]诡异的Invalid bound statement (not found)错误
- jfinal自定义freemarker标签
- Angrok 一个内网穿透服务
- Druid数据库连接池 实现数据库账号密码加密
- 【maven学习】划分模块
- 缓存策略优化
- Quartz框架应用(1)
- 6个编写优质干净代码的技巧
- 【Jfinal源码】第一章 com.jfinal.core.JFinalFilter(1)
- 【ehcache】 timeToLiveSeconds 和 timeToLiveSeconds 的区别
- 升级 CentOS7 、Redis 3.2.x 的问题
- AngularJS 中使用Swiper制作滚动图不能滑动
- java教程
- Java快速入门
- Java 开发环境配置
- Java基本语法
- Java 对象和类
- Java 基本数据类型
- Java 变量类型
- Java 修饰符
- Java 运算符
- Java 循环结构
- Java 分支结构
- Java Number类
- Java Character类
- Java String类
- Java StringBuffer和StringBuilder类
- Java 数组
- Java 日期时间
- Java 正则表达式
- Java 方法
- Java 流(Stream)、文件(File)和IO
- Java 异常处理
- Java 继承
- Java 重写(Override)与重载(Overload)
- Java 多态
- Java 抽象类
- Java 封装
- Java 接口
- Java 包(package)
- Java 数据结构
- Java 集合框架
- Java 泛型
- Java 序列化
- Java 网络编程
- Java 发送邮件
- Java 多线程编程
- Java Applet基础
- Java 文档注释
- SAP CDS view里将Date和time连接成timestamp的函数
- SAP CDS view里计算两个date & time字段间包含的seconds秒数
- SAP CDS view里的日期操作函数(往后推算X天得到新日期)
- SAP CDS view的日期格式转换,比如从YYYYMMDD转到DD/MM/YYYY
- SAP CDS view如何取得当前系统日期和系统时间戳
- Vue 父组件如何监听子组件的生命周期
- Django3+websocket+paramiko实现web页面实时输出
- 【5分钟玩转Lighthouse】开车也能跑程序
- LeetCode74|有序矩阵中第K小的元素
- LeetCode73|根据字符出现频率排序
- LeetCode72|前K个高频元素
- LeetCode71|数组中第K个最大元素
- LeetCode70|最小K个数
- LeetCode69|消失的数字
- LeetCode68|和为s的两个数字