【Java】语法笔记

面向对象

类和对象的介绍和理解

方法就是函数,类是共同特征的描述(设计图),对象就是一个工具实际存在。
类的定义方法

public class 类名{ 
	成员变量;
	成员方法;
}

封装原则:对象代表什么,就得封装对应的数据,并提供数据对应的行为。

封装_private关键字

public class GirlFriend {
    private int age;

    public void setAge(int a){
        if(a >= 18 && a <= 50){
            age = a;
        }
        else{
            System.out.println("非法数据");
        }
    }

    public int getAge(){
        return age;
    }
}
public class GirlFriendTest {
    public static void main(String[] args) {
        GirlFriend gf1 = new GirlFriend();
        Scanner sc = new Scanner(System.in);
        gf1.setAge(sc.nextInt());
        System.out.println(gf1.getAge());
    }
}

就近原则 & this关键字

public class GirlFriend2 {
    private int name;//成员变量

    public void setAge(){
        int name = 10;//局部变量
        System.out.println(name);
        //就近原则,输出为10
        System.out.println(this.name);
        //this关键字,表示成员变量,输出为0
    }

构造方法

构造方法—作用

创建对象的时候,由虚拟机调用,给成员变量进行初始化的

构造方法—格式

public class Student(){
 	修饰符 类名(参数){
		方法体;
	}
}

方法名与类名一致(包括大小写)
没有返回值类型和返回值(不能写return)

public class Student {
    private String name;
    private int age;
	//空参构造器
    public Student(){}
	//带全部参数的构造器
    public Student(String name, int age){
        this.name = name;
        this.age = age;
    }
}
public class StudentTest {
    public static void main(String[] args) {
        Student s = new Student();//无参构造
        
        Student ss = new Student("xiaoming",18);//带参构造
    }
}

构造方法—注意事项

任何类定义出来,默认就自带了无参构造器,不用自己写
若自己写了有参构造器,默认的无参构造器就没有了,需要自己写
一般需要自己写上无参构造器和有参构造器(带全部参数)

标准JavaBean类

1、类名(要见名知意)
2、成员变量要是用 private 修饰
3、至少提供两个构造方法(无参构造器、带全部参数的构造器)
4、成员方法(提供对应成员变量的 setXxx() / getXxx() )

生成JavaBean类快捷键:alt + (FN) + insert
快捷插件: PTG

对象内存图

一个对象内存图
两个对象的内存图
两个引用指向同一个对象

基本数据类型和引用数据类型

基本数据类型:数据是存储在自己的空间(即栈内存)中的,例如整型int浮点型double等。
特点:赋值给其他变量时,也是赋的真实值。
引用数据类型:数据值是存储在其他空间(即堆内存)中的,自己空间(即栈内存)中存储的是地址值,例如对象数组等。
特点:赋值的时候赋的是地址值。

this的内存原理

this的本质:所在方法调用者的地址值
this的作用:用于区分局部变量和成员变量
在这里插入图片描述

在这里插入图片描述

成员变量和局部变量的区别

在这里插入图片描述

在这里插入图片描述

键盘录入技术

1、第一套体系

Scanner sc = new scanner(System.in);
int num1 = sc.nextInt();	//接收整数
double num2 = sc.nextDouble();	//接收小数
String num3 = sc.next();	//接收字符串

特点:遇到空格、制表符、回车就停止接受。符号后面的数据就不再接受了

2、第二套体系

nextLine();	//接收字符串

特点:可以接收空格、制表符,遇到回车才停止接收。

API

API(Application Programming Interface):应用程序编程接口
Java API:JDK中提供的各种功能的Java类


备注:部分资料来自bilibili黑马程序员

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值