Java---语言类的特性
Java语言第四周学习
- 私有成员与公共成员
- 方法的重载&构造方法
- 静态变量
私有成员与公共成员
一、私有成员
在类的成员变量前面加上“private”,就不能被该类外部其他任何类访问,包括其子类。因此达到对数据最高级别保密的目的。
二、公共成员
在公共方法前面加上“piblic”,例如:public void setCylinder().私有成员才能得以被访问。
三、缺省访问控制符
如果在类成员的前面不加任何访问控制符,即具有缺省访问控制符的特性。
缺省访问控制符的特性:
这种缺省的访问控制权限规定只能被同一个包中的类访问和引用,不能被其他包中的类使用。子类若与父类不在一个包中,那么子类也不能访问父类中的缺省访问控制成员。
方法的重载&构造方法
四、方法重载
何为方法重载呢?
即在程序设计中,有些方法的含义相同,但带有不同的参数,这些方法使用使用相同的名字,这就叫方法的重载。
其中参数类型是关键,仅仅变量名不同是不行的。也就是说参数列表必须不同,即:或者参数个数不同,或者参数类型不同,或者参数的顺序不同。通过方法的重载,只需要一个方法名即能实现多个功能,非常方便。
说明:Java语言中不允许参数个数或参数类型完全相同,而只有返回值类型不同的重载。
五、构造方法
构造方法的性质:
1、构造方法的方法名与类名一致。
2、构造方法没有返回值,但不能用void。(这是因为一个类的构造方法的返回值就是该类本身)
3、构造方法的主要作用是完成对类的对象的初始化工作。
4、构造方法一般不能直接调用,而是通过new来调用,也就是说在定义类的对象时(需要new)就自 动调用了。
5、在创建一个类的对象的同时,系统会自动调用该类的构造方法为新对象初始化。
class Cylinder{private double radius;private int height;private double pi = 3.1415926535;public Cylinder(double r,int h){//定义有参数的构造方法,方法名与类名必须一致radius = r;height = h;}double area(){//有返回值return pi*radius*radius;}double volume(){return area()*height;}
}
public class wang04{public static void main(String[] args){Cylinder volu = new Cylinder(3.5,8);//调用有参构造方法的对象System.out.println("圆柱的底面积:"+volu.area());//注意:对象.成员方法()System.out.println("圆柱的体积是:"+volu.volume());}
}
六、默认构造方法
它没有参数,其方法体中也没有任何代码,即什么也不做。(我们最开始的时候用的就是它了)
七、在一个构造方法内调用另一个构造方法
1、在一个构造方法内调用另一个构造方法时,必须使用this()语句来调用,否则报错。
2、this()语句必须写在构造方法内的首行位置。
class Cylinder{ private double radius; private int height; private double pi = 3.1415926535; String color; public Cylinder(){//定义有参数的构造方法,方法名与类名必须一致 this(2.5,5,"红色"); //调用另一种构造方法 } public Cylinder(double r,int h,String str){ radius = r; height = h; color = str; } public void show(){ System.out.println("圆柱的底面积:"+area());//对象.成员方法() System.out.println("圆柱的体积是:"+volume()); System.out.println("圆柱的颜色是:"+color); } double area(){//有返回值 return pi*radius*radius; } double volume(){ return area()*height; }
}
public class wang04{ public static void main(String[] args){ Cylinder volu = new Cylinder();//调用有参构造方法的对象 }
}
静态变量
七、static
1、静态变量又被称之为“类变量”,字面理解即隶属于类的变量而不属于任何一个类的具体对象。 也就是说,对于该类的任何一个具体对象而言,静态变量是一个公共的存储单元,而不是保存在某个具体 对象的储存空间中。就是“公用”的意思。
2、静态方法,即类方法。类方法只能调用类成员,虽然不能直接访问非静态成员,但是可以通过创 建对象的方法间接的访问非静态成员,对于静态方法的调用建议使用:“类名.类方法名;”的形式来 访问。
当然与静态成员、静态方法相反的有实例成员、实例方法。它们有属于自己的独立的空间,当其中一个变量被更改时,另一个变量不受到影响。(在开始的学习中一直用的都是实例成员、实例方法)
八、静态初始化器
静态初始化器是对类自身的初始化,在类被加载如内存时只执行一次,与创建多少对象无关。若有多个静态初始化器,则他们在类的初始化时会依次执行。
格式:
static
{
…
}
Java---语言类的特性相关推荐
- Java语言的三大特性
Java语言的三大特性即是:封装.继承.多态 封装: 首先,属性可用来描述同一类事物的特征,方法可描述一类事物可做的操作.封装就是把属于同一类事物的共性(包括属性与方法)归到一个类中,以方便使用. 1 ...
- java语言类间继承关系是,Java语言类间的继承关系是( )。
Java语言类间的继承关系是( ). 更多相关问题 [判断题] 持有OPEN票的游客不需要机票的确认,可直接按票面时间去机场乘坐飞机.() [填空题] 导游服务性质是().().().().() ...
- Java语言有哪些特性?
有以下十一种特性: 简洁有效 是一种相对简洁的"面向对象"程序设计语言.省略了C++语言中所有的难以理解.容易混淆的特性,如头文件.指针.结构.单元.运算符重载.虚拟基础类等.使得 ...
- Java语言十大特性
作者简介:笔名seaboat,擅长工程算法.人工智能算法.自然语言处理.计算机视觉.架构.分布式.高并发.大数据和搜索引擎等方面的技术,大多数编程语言都会使用,但更擅长Java.Python和C++. ...
- Java语言类的作用,java 语言Class类的作用,怎么使用?
1,Class类有什么用? Class类的实例表示java应用运行时的类(Class ans enum)或接口(interface and annotation)(每个java类运行时都在JVM里表现 ...
- 华为创新杯编程大赛 java_2012年华为软件校园招聘编程测验(又名:2012华为创新杯编程大赛)软件Java语言类原题与解答...
特别说明:由于本人编程水平有限,算法特别糟糕,所提供解答为个人随心所写,后两题时间复杂度都为O(n*n),这显然不是阅卷人员希望看到的,希望路过的各位大牛能多多指教,不吝赐与小可更佳的设计. 1. 电 ...
- java中检查性异常类_Java异常处理、java语言推崇使用检查类型异常
异常处理是java语言的重要特性之一,<Three Rules for effective Exception Handling>一文中是这么解释的:它主要帮助我们在debug的过程中解决 ...
- Java语言的特点和特性
1. Java语言的主要特点: 1. 跨平台性 所谓的跨平台性,是指软件可以不受计算机硬件和操作系统的约束而在任意计算机环境下正常运行.这是软件发展的趋势和编程人员追求的目标.之所以这样说,是因为计算 ...
- java类的运行顺序_Java语言类的基本运行顺序
本文主要向大家介绍了Java语言类的基本运行顺序,通过具体的代码向大家展示,希望对大家学习Java语言有所帮助.我们以下面的类来说明一个基本的 Java 类的运行顺序:1. public class ...
- 在JAVA语言程序中main_在Java程序main方法中,正确的参数是
[单选题]下列叙述中,错误的是 [填空题]Access属于()数据库,Access中,不允许在主关键字字段中有重复值或(). [单选题]如下哪些字符串是Java中的标识符? [填空题]常用的基本电量传 ...
最新文章
- C语言实现AES加解密
- linux与linux的连接,linux 硬链接与软连接
- 银行启动开放战略,能否赢回金融科技下半场?
- 左右margin top问题百分比值
- ML:从0到1 机器学习算法思路实现全部过程最强攻略
- 实验二 二叉树的操作与实现
- mysql job_MySQL数据传输中dtle 之 job 实现简析-爱可生
- 全国计算机等级考试题库二级C操作题100套(第67套)
- linux相关英文书记,Linux常用软件(英文介绍)
- Ruby之散列与快排小程序
- android基础入门控件详解(3)
- 一个草根站长的创业故事之选择
- Solr进阶之Solr综合文本相似度的多因素权重排序实现
- vb.net加密解密方法
- html双人可悔棋五子棋源码,MATLAB实现五子棋游戏(双人对战、可悔棋).pdf
- matlab三次根号怎么打,matlab 3次根号怎么写
- 傅里叶滤波去噪学习笔记
- Go2sky -- Golang用skywalking实现全链路追踪
- 解决springboot的pom.xml文件第一行报错问题
- 腾讯这次组织变革是过渡的
热门文章
- 小程序生成海报插件painter(原生小程序版)
- 关于ISO体系认证的一系列超常见问题分享解答
- 【体验】使用机智云和ESP8266-12做一个无线定时电灯
- 爱签电子合同入选“2022产业链供应链数字经济创新案例”
- RFID RC522门禁系统
- explain sqlserver 类似_SQLServer查询执行计划分析 - 案例
- 中科大计算机博士毕业条件,中科大硕士博士学位授予实施细则.pdf
- 使命召唤测试服登录软件是,CODOL体验服客户端
- %3c xml 和php冲突,[原创]WEB安全第五章 漏洞学习与利用11 xml实体注入
- UCI-ICS32第二周笔记(2)