java修饰符和数据类型

一、java修饰符和使用场景

修饰符是用来定义类、方法或者变量的访问权限,分为两大类:

  1. 访问修饰符:

    限定类、属性、方法是否可以被程序里其他部分访问和调用。

    private<default<protect<public

  2. 非访问修饰符,用来修饰或者辅助:

    例如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

    • 存储在方法区,和堆栈不一样的一个空间

      1 package study2day;
      2 3 public class Student {
      4     public  static  String PREFIX = "我是";
      5 6 }
      7 8    public  static void main(String [] args){           System.out.println(Student.PREFIX);
      9     }
       
  • 实例变量(属性):

    • 需要使用对象.变量名才可以访问

    • 对象被实例化之后,实例变量的值就跟着确定,可以赋值,也可以默认。

    • 生命周期

      • 在对象创建的时候创建,在对象被销毁的时候销毁

    • 访问修饰符可以修饰实例变量,一般是私有的,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

 

posted @ 2019-12-20 15:50  Asahi_煦  阅读(191)  评论(0)    收藏  举报