JAVA基础概念(二)
一、java修饰符和使用场景
修饰符是用来定义类、方法或者变量的访问权限,分为两大类:
访问修饰符:
限定类、属性、方法是否可以被程序里其他部分访问和调用。
private<default<protect<public
非访问修饰符,用来修饰或者辅助:
例如static、final、abstract、synchronize等
主要记住:
外部类修饰符:public或者默认
方法、属性修饰符:private、default、protected、public
public公开对外部可见
protected对包和子类可见
private仅对类内部可见
| 修饰符 | 当前类 | 同一包内 | 不同包中的子类 | 不同包中的非子类 |
|---|---|---|---|---|
| public | Y | Y | Y | Y |
| protected | Y | Y | Y | N |
| default | Y | Y | N | N |
| private | Y | N | N | N |
二、JAVA内置的数据类型简介
八种基本数据类型(每个数据都需要从计算机中申请空间来存储数据)
byte
8位
最大127,最小-128
节省空间,占用int类型的四分之一
默认值:0
short
16位
最大32767,最小-32768
int类型的二分之一
默认值:0
int
32位
最小-2147483648,最大2147483647
整数默认是int类型
默认值:0
long
64位
最小-9223372036854774808,最大9223372036854774807
默认值:0L
float
单精度32位
0.0f
double
双精度64位
浮点数默认double类型
默认值0.0d
boolean
一位
true或者false
默认是false
char
16位的Unicode字符,两个字节代表一个字符
最小\u0000即0,最大\ufff即65535
类型转换
double>float>long>int>short>byte
小转大可以直接转换,而从大到小需要强制转换,会有精度丢失
引用数据类型:Class创建的对象或者数组都是引用数据类型
String:字符串对象,也是引用数据类型
三、java类里面的变量类型
类变量(静态变量):
使用static声明的变量,可以直接使用类名.变量名(变量名称一般大写)访问
一个类不管创建了多少个对象,类只拥有类变量的一份拷贝,数值默认为0,布尔值默认值为false,引用类型默认值是null
生命周期
在第一次被访问时创建,在程序结束时销毁
声明public类型,一般这样声明public static final
存储在方法区,和堆栈不一样的一个空间
package study2day;
public class Student {
public static String PREFIX = "我是";
}
public static void main(String [] args){ System.out.println(Student.PREFIX);
}
实例变量(属性):
需要使用对象.变量名才可以访问
对象被实例化之后,实例变量的值就跟着确定,可以赋值,也可以默认。
生命周期
在对象创建的时候创建,在对象被销毁的时候销毁
访问修饰符可以修饰实例变量,一般是私有的,private修饰,然后通过方法或者实例进行修改
private int age;
private String name;
public int getAge(){
return age;
}
public void setAge(int age){
this.age =age;
}
public String getName(){
return name;
}
public void setName(String name){
this.name = name;
}
局部变量
方法中的变量
声明在方法、构造方法、语句块、形式参数等
生命周期
当它们执行完后,变量会被销毁
访问修饰符不能用于局部变量
局部变量没有初始值,必须初始化后才可以被禁用
public String introduce(){
String content = PREFIX + name + ",年年龄是" + age;
return content;
}
public static void main(String [] args){
Student student = new Student();
student.setAge(20);
System.out.println(student.getAge());
student.setName("小墨");
System.out.println(student.getName());
System.out.println(student.introduce());
}
结果:
20
小墨
我是小墨,年年龄是20
JAVA基础概念(二)的更多相关文章
- java基础-多线程二
java基础-多线程二 继承thread和实现Runnable的多线程每次都需要经历创建和销毁的过程,频繁的创建和销毁大大影响效率,线程池的诞生就可以很好的解决这一个问题,线程池可以充分的利用线程进行 ...
- java 基础知识二 基本类型与运算符
java 基础知识二 基本类型与运算符 1.标识符 定义:为类.方法.变量起的名称 由大小写字母.数字.下划线(_)和美元符号($)组成,同时不能以数字开头 2.关键字 java语言保留特殊含义或者 ...
- java基础(二章)
java基础(二章) 一,变量 1.变量是内存中的一个标识符号,用于存储数据 2.变量命名规则 l 必须以字母.下划线 _ .美元符号 $ 开头 l 变量中,可以包括数字 l 变量中,不能出现特 ...
- Java基础十二--多态是成员的特点
Java基础十二--多态是成员的特点 一.特点 1,成员变量. 编译和运行都参考等号的左边. 覆盖只发生在函数上,和变量没关系. Fu f = new Zi();System.out.println( ...
- C#学习基础概念二十五问
C#学习基础概念二十五问 1.静态变量和非静态变量的区别?2.const 和 static readonly 区别?3.extern 是什么意思?4.abstract 是什么意思?5.internal ...
- Java基础概念语法
Java基础概念语法 注释 单行注释 //行注释说明 多行注释 /* 多行注释说明 */ 文档注释 /** *@author 程序的作者 *@version 源文件的版本 *@param 方法的参数说 ...
- JAVA基础(二)—— 常用的类与方法
JAVA基础(二)-- 常用的类与方法 1 Math类 abs ceil floor 绝对值 大于等于该浮点数的最小整数 小于等于该浮点数的最大整数 max min round 两参数中较大的 两参数 ...
- Java实习生常规技术面试题每日十题Java基础(二)
目录 1. JAVA 的反射机制的原理. 2.静态嵌套类(Static Nested Class)和内部类(Inner Class)的不同? 3.如何将String类型转化成Number类型. 4.什 ...
- Java基础系列二:Java泛型
该系列博文会告诉你如何从入门到进阶,一步步地学习Java基础知识,并上手进行实战,接着了解每个Java知识点背后的实现原理,更完整地了解整个Java技术体系,形成自己的知识框架. 一.泛型概述 1.定 ...
随机推荐
- Paper | Predicting the Quality of Images Compressed After Distortion in Two Steps
目录 1. 问题本质剖析 2. 方法细节 图像质量评估大佬AC Bovik的论文,发表在2019 TIP上. 考虑的问题:对于有参考图像质量评估(R-IQA)任务,参考图像有时是有损的.这会导致评估的 ...
- ubuntu16.04安装QGIS工具
指令安装安装qgis可以通过添加安装源的形式进行 sudo add-apt-repository ppa:ubuntugis/ubuntugis-unstable sudo apt-get updat ...
- JDBC与Druid简单介绍及Druid与MyBatis连接数据库
序言 java程序与数据建立连接,首先要从jdbc说起,然后直接上阿里认为宇宙最好的数据库连接池druid,然后再说上层程序对象与数据源映射关联关系的orm-mybatis. JDBC介绍 JDBC( ...
- linux部署java命令
启动: #!/bin/bash source /etc/profile log() { echo `date +[%Y-%m-%d" "%H:%M:%S]` $1 } log &q ...
- [IDA] Oops! internal error 40343 occured.
问题描述: 解决方案: 安装 IDA 时,其路径下不要出现中文.
- Java 使用Navicat连接MySQL出现2059错误
今天使用navicat链接mysql的时候报了2059的错误,找了很久才找到解决方法,这里记录一下.出现2059这个错误的原因是在mysql8之前的版本中加密规则为mysql_native_passw ...
- keepalived+Nginx实现主备保障Nginx的高可用。
1.什么是keepalived? Keepalived是集群管理中保证集群高可用的一个服务软件,用来防止单点故障. Keepalived的作用是检测web服务器的状态,如果有一台web服务器死机,或工 ...
- 利用正则来查找字符串中第n个匹配字符索引
1.string.IndexOf()方法可以获得第一个匹配项的索引 2.要获取第n个匹配项的索引: 方法1:利用IndexOf方法循环获取. 方法2:用正则来查找. System.Text.Regu ...
- 达能依靠Matrikon进行数据存储和分析
达能是一家致力于通过食品实现健康的公司,业务遍及五大洲130多个国家.在罗马尼亚,达能每天在布加勒斯特的工厂生产100万瓶酸奶.由于质量和产品安全在达能最为重要,因此监控和分析工业过程需要非常高效才能 ...
- CoreData数据库搭建
1.首先创建父类吧重用的代码写在里边 #import <Foundation/Foundation.h> #import <CoreData/CoreData.h> @inte ...