java笔记(第四课)

小知识:

1:文档注释符

/**

*/

(java.doc)专门编译符号内内容

2:类和函数都尽量不要嵌套

课堂重点:

###

用this关键字

this关键字:由于看不到方法体(大部分类可能都不是自己写的),形参名都看不见。


Cust(String name,int ID,int pwd,double money)
{
name = name;
ID = ID;
pwd = pwd;
money = money;
}//毫无意义,形参赋值给形参

修改为:


Cust(String name,int ID,int pwd,double money)
{
this.name = name;
this.ID = ID;
this.pwd = pwd;
this.money = money;
}

***

this:当前类的一个当前对象(看被谁所调用)

this的使用也是一种代码规范.

***

###

运算符,操作数,new与内存分配

new : 内存分配运算符号—用于开辟内存,后跟操作数。

返回值为开辟内存的首地址

作用1:分配内存,2:作为函数执行代码。

运算符:比如 . 运算符,用来寻找地址

操作数:a+b, ?:三元运算符

内存分配图:

###

重点: static

1:修饰成员变量或成员方法时会当类代码载入Java虚拟机时就会立刻分配内存,且只分配一次(类的所有对象共用一段内存)。

*Java 是动态加载(类加载)

2:static成员可以用对象名调用,也可以用类名调用,但(*一个静态变量尽量用类名去调用,而不是用对象名去调用)

3:静态函数中不能直接调用本类非静态的成员,但可以间接调用,但非静态可以调用静态的。

*如何间接

class name
{
static void jianjie()
{
A a = new A();
a.i = 9;
}
}

这是因为非静态函数一定有内存分配,而静态则未必

*银行程序创新:1:静态函数printMenu(用静态则可以只用一段内存)

2:printNum(打印账户数量)

###

private 与 static

class A
{
private A(){} 
} //若类内有改行代码,则类外部不能随意创建对象,但在类内自己可以访问

import java.util.*;

public class Main
{
    public static void main(String[] args)
    {
       A.a.print();
        
    }
}

class A{
    A a = new A();
    private A()
    {  
    }
    void print()
    {
        System.out.println("hello world");
    }
}

报错:不能从静态上下文引用非静态变量a

修改为: +static

import java.util.*;

public class Main
{
    public static void main(String[] args)
    {
       A.a.print();
        
    }
}

class A{
    static A a = new A();
    private A()
    {
    }
    void print()
    {
        System.out.println("hello world");
    }
}

输出 : hello world 成功

补充知识点:

类的定义

public: 所有对象均可以访问

private: 只有本类内部可以访问

protected:同一个包或者子类中可以访问

不添加修饰符:在同一个包中可以访问

静态(带static修饰符)成员变量/函数与普通成员变量/函数的区别:

所有static成员变量/函数在类中只有一份,被所有类的对象共享;

所有普通成员变量/函数在类的每个对象中都有独立的一份;

静态函数中只能调用静态函数/变量;普通函数中既可以调用普通函数/变量,也可以调用静态函数/变量。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值