Java基本-2对象与包
1、对象:通俗的来讲,就是一个东西,比如汽车是一个对象,人是一个对象,狗是一个对象。
2、类:她描述的是对象的行为或者状态,比如对象是汽车,那么嘞可以分为小汽车类,大货车类,客车类等。
在类中可以包含局部变量,成员变量,类变量。简单理解三个变量就是:
- 在方法、构造方法或者语句块中定义的变量被称为局部变量。方法结束后会自动销毁
- 成员变量是定义在类中,方法体之外的变量。成员变量可以被类中方法、构造方法和特定类的语句块访问。
- 类变量也声明在类中,方法体之外,但必须声明为static类型
变量权限修饰:
| 作用域 | 当前类 | 同一包 | 子孙类 | 其他包 |
| public | √ | √ | √ | √ |
| protected | √ | √ | √ | × |
| default | √ | √ | × | × |
| private | √ | × | × | × |
3、构造方法:每个类都有构造方法,如果,如果没有显式地为类定义构造方法,那么Java编译器将会为该类提供一个默认构造方法。
- 在创建对象的时候,至少要调用一个构造方法。
- 构造方法名称必须与类同名,一个类可以有多个构造方法,传入的不同的参数个数。
public class Puppy{
public Puppy(){
}
public Puppy(String name){
// 这个构造器仅有一个参数:name
}
public Puppy(String name,String sex){
// 这个构造器有两个参数:name,sex
}
}
4、创建访问对象:对象是根据类创建的,使用关键字new来创建一个新的对象。
创建对象需要三步:
- 声明:声明一个对象,包括对象名称和对象类型
- 实例化:使用关键字new来创建一个对象
- 初始化:使用new创建对象时,会调用构造方法初始化对象
public class Test4 {// 创建的一个test4类
public Test4() {// 构造一个不需要参数的方法,假设为方法1
System.out.println("没有留下名字");
}
public Test4(String name) {// 构造一个需要传入name参数的方法,假设为方法2
System.out.println("姓名为:" + name);
}
public static void main(String[] args) {
Test4 name = new Test4("小明");// 声明对象为name,使用new来创建,调用方法2来初始化对象
}
}
输出结果为
---------------------
姓名为:小明
通过已创建的对象来访问成员变量和成员方法,如下所示:
/* 实例化对象 */
ObjectReference = new Constructor(); /* 访问类中的变量 */
ObjectReference.variableName; /* 访问类中的方法 */
ObjectReference.methodName();
5、Java包:主要就是用来对类和接口进行分类,使用inport进入Java包导入。例:import java.io.*;即根据路径导入Io下的所有类,只导入需要的类时指定类名即可。
6、数据类型:byte(8位)、short(16位)、int(32位)、long(64位)、float(单精度32位)、double(双精度64位)、boolean(表示一位的信息:true 和 false)、char(一个单一的 16 位 Unicode 字符)
7、运算符优先级:
| 类别 | 操作符 | 关联性 |
|---|---|---|
| 后缀 | () [] . (点操作符) | 左到右 |
| 一元 | + + - !〜 | 从右到左 |
| 乘性 | * /% | 左到右 |
| 加性 | + - | 左到右 |
| 移位 | >> >>> << | 左到右 |
| 关系 | >> = << = | 左到右 |
| 相等 | == != | 左到右 |
| 按位与 | & | 左到右 |
| 按位异或 | ^ | 左到右 |
| 按位或 | | | 左到右 |
| 逻辑与 | && | 左到右 |
| 逻辑或 | | | | 左到右 |
| 条件 | ?: | 从右到左 |
| 赋值 | = + = - = * = / =%= >> = << =&= ^ = | = | 从右到左 |
| 逗号 | , | 左到右 |
Java基本-2对象与包的更多相关文章
- Java中net.sf.json包关于JSON与对象互转的问题
在Web开发过程中离不开数据的交互,这就需要规定交互数据的相关格式,以便数据在客户端与服务器之间进行传递.数据的格式通常有2种:1.xml:2.JSON.通常来说都是使用JSON来传递数据.本文正是介 ...
- Java中net.sf.json包关于JSON与对象互转的坑
在Web开发过程中离不开数据的交互,这就需要规定交互数据的相关格式,以便数据在客户端与服务器之间进行传递.数据的格式通常有2种:1.xml:2.JSON.通常来说都是使用JSON来传递数据.本文正是介 ...
- 三. Java类与对象8.再谈Java包
在Java中,为了组织代码的方便,可以将功能相似的类放到一个文件夹内,这个文件夹,就叫做包. 包不但可以包含类,还可以包含接口和其他的包. 目录以"\"来表示层级关系,例如 E:\ ...
- Java提高篇——对象克隆(复制)
假如说你想复制一个简单变量.很简单: int apples = 5; int pears = apples; 不仅仅是int类型,其它七种原始数据类型(boolean,char,byte,short, ...
- Java的常用对象①②
Java的常用对象① Java的常用对象有很多,这里只对lang包中常用的Object,Date(Calendar,DateFormat,Math),System,Runtime进行介绍.㈠Objec ...
- Java中代理对象的使用小结
在某些情况下,一个客户不想或不能直接引用另一个对象,而代理对象可以在客户端和目标对象之间起到了中介作用,这不仅仅使用代理模式,还可以实现适配器模式.装饰模式等. 代理对象内部含有对真实对象的引用,从而 ...
- Java面向对象 其他对象
Java面向对象 其他对象 知识概要: (1)可变参数 (2)静态导入 (3)System (4)Runtime (5)Date Calendar (6)Math 本 ...
- java中最常用jar包的用途说明
java中最常用jar包的用途说明,适合初学者 jar包 用途 axis.jar SOAP引擎包 commons-discovery-0.2.jar 用来发现.查找和实现可插入式接口,提供一些一般类实 ...
- Java基础7-异常;jar包
昨日内容回顾 多态:多种状态,多态的前提条件是继承或者是实现 面向接口编程 降低耦合度 接口是最低标准,接口可以多重继承 接口中的所有方法都是抽象方法 抽象类中可以没有抽象方法 匿名内部类对象 将对类 ...
随机推荐
- [译文]PHP千年虫(y2k compliance)
时钟将我们无情地逼近2000年的最后一年,第二年厄运塞耶斯都预言前所未有的电脑故障在每一个可以想象的领域.通常被称为2000年问题,或千年虫,这种 情况很容易解释.程序解释两位在形成XX日期19 XX ...
- 【CCPC-Wannafly Winter Camp Day4 (Div1) I】咆咆咆哮(三分+贪心)
点此看题面 大致题意: 有\(n\)张卡牌,每张卡牌有两种用法:使场上增加一个伤害为\(a_i\)的生物,或使场上所有生物伤害增加\(b_i\).求最大总伤害. 三分 我们可以三分使用\(a_i\)的 ...
- react里面 react-router4 跳转
在react里面跳转的时候,一般可以用 <Link to='/tradeList' /> 但是我们在运用组件组合的时候经常会通过传参去判断,如果props传过来是参数,如果有link进行跳 ...
- python web应用--web框架(三)
了解了WSGI框架,我们发现:其实一个Web App,就是写一个WSGI的处理函数,针对每个HTTP请求进行响应. 但是如何处理HTTP请求不是问题,问题是如何处理100个不同的URL. 每一个URL ...
- Python IDE PyCharm的快捷键大全
Python IDE PyCharm的快捷键大全 1.编辑(Editing) Ctrl + Space 基本的代码完成(类.方法.属性) Ctrl + Alt + Space 快速导入任意类 Ctrl ...
- 第18章 SysTick—系统定时器—零死角玩转STM32-F429系列
第18章 SysTick—系统定时器 全套200集视频教程和1000页PDF教程请到秉火论坛下载:www.firebbs.cn 野火视频教程优酷观看网址:http://i.youku.com/ ...
- jQuery 二级联动
jQuery 二级联动 ----请选择省份---- 北京 上海 江苏 ----请选择城市---- 东城 西城 崇文 宣武 朝阳 黄浦 卢湾 徐汇 长宁 静安 南京 镇江 苏州 南通 扬州 & ...
- jquery 操作DOM元素(1)
.clone() 创建一个匹配的元素集合的深度拷贝. .clone([withDataAndEvents]) withDataAndEvents (默认为false) 一个Boolean 表示是否会复 ...
- LeetCode94. Binary Tree Inorder Traversal
题目 给定一个二叉树,返回它的中序 遍历. 示例: 输入: [1,null,2,3] 1 \ 2 / 3 输出: [1,3,2] 进阶: 递归算法很简单,你可以通过迭代算法完成吗? 考点 stack ...
- java使用apache-poi生成excel表格
public static void main(String[] args) throws IOException { // TODO Auto-generated method stub //创建一 ...