首页
每日60s
项目
网盘
留言
友链
关于我
Search
1
Vue展示列表列表数据(案例一)
8 阅读
2
计算属性的getter和setter
4 阅读
3
雨天街拍
4 阅读
4
Vue.js知识量化
3 阅读
5
Go语言学习计划
3 阅读
笔记
Java
Python
Vue2
Uni-app
Go
生活
兴趣
摄影
摩托
历程
考证
工作经验
CDA人才认证
数据架构师
登录
/
注册
Search
标签搜索
go
后端
Java
编程语言
vue.js
笔记模板
CDA人才认证
数据分析师
笔记
main方法
课程笔记
编程
JiaJun
累计撰写
21
篇文章
累计收到
12
条评论
首页
栏目
笔记
Java
Python
Vue2
Uni-app
Go
生活
兴趣
摄影
摩托
历程
考证
工作经验
CDA人才认证
数据架构师
页面
每日60s
项目
网盘
留言
友链
关于我
搜索到
1
篇与
的结果
2023-10-08
Java——对象编程高级篇【课程笔记】
{mtitle title="类变量和类方法"/}{bilibili bvid="BV1fh411y7R8" page="374"/}{dotted startColor="#ff6c6c" endColor="#1989fa"/}1. 提出问题:运用Java解决问题:package com.ljj.static_; public class ChildGame { public static void main(String[] args) { int count = 0; Child child01 = new Child("小明同学"); child01.join(); count++; Child child02 = new Child("小红同学"); child02.join(); count++; Child child03 = new Child("小黄同学"); child03.join(); count++; System.out.println("一共有"+count+"同学"); } } class Child{ //类 private String name; public Child(String name){ this.name = name; } public void join(){ System.out.println(name+"加入了游戏......."); } }使用类变量改进:package com.ljj.static_; public class ChildGame { public static void main(String[] args) { int count = 0; Child child01 = new Child("小明同学"); child01.join(); child01.count++; Child child02 = new Child("小红同学"); child02.join(); child02.count++; Child child03 = new Child("小黄同学"); child03.join(); child03.count++; System.out.println("一共有"+Child.count+"同学"); } } class Child{ //类 private String name; //定义一个变量count,是一个类变量(静态变量)static 静态 //该变量足以大的特点就是会被本类里面的所有对象实例共享 public static int count = 0; public Child(String name){ this.name = name; } public void join(){ System.out.println(name+"加入了游戏......."); } }2. 类变量内存布局:文章参考:JAVA的内存图理解(栈,堆,方法区)Java static变量保存在哪? a. 静态变量被对象共享b. 因此不影响对静态对象的使用不管在static变量在哪里:static变量是同一个类所有对象共享的static类变量,在类加载的时候就生成了3. 定义类变量定义语法:访问修饰符 static 数据类型 变量名;【推荐】static 访问修饰符 数据类型 变量名;如何访问:类名.类变量名【推荐使用】对象名.类变量名【静态变量的访问修饰符的访问权限和范围和普通属性一样】//代码示例: package com.ljj.static_; public class VisitStatic { public static void main(String[] args) { System.out.println(A.name);//示例1 A a = new A(); System.out.println(a.name);//示例2 } } class A{ //类变量 public static String name="小明"; }实例变量不能通过 类名.类变量名 方式访问即使没有创建对象,类加载了也能访问4、类方法基本介绍静态方法: 访问形式如下访问修饰符 static 数据返回类型 方法名(){}【推荐】static 访问修饰符 数据返回类型 方法名(){}调用方式:类.类方法名 OR 对象.类方法名【访问条件同上】//代码示例: package com.ljj.static_; public class StaticMethod { public static void main(String[] args) { Stu tom = new Stu("tom"); tom.payFee(1000); Stu marry = new Stu("marry"); marry.payFee(10086); Stu.showFee(); } } class Stu{ private String stuName; //累计学费 private static double fee = 0; public Stu(String stuName) { this.stuName = stuName; } //说明: //1. 当方法使用了static修饰后,该方法就是静态方法 //2. 静态方法就可以访问静态属性/ 变量 public static void payFee(double fee){ Stu.fee += fee; } public static void showFee(){ System.out.println("总学费有:"+Stu.fee); } }开发自己的工具类时,可以将方法做成静态方法,方便调用类方法和普通方法都是随着类的加载而加载,将结构信息存储在方法区;类方法中没有this的参数,普通方法中隐含着this的参数类方法可以通过类名调用。也可以通过对象名调用普通方法和对象有关,需要通过对象名调用,不能通过类名调用类方法中不允许使用和对象有关的关键字,比如this和supe。普通方法(成员方法)可以。类方法(静态方法)中只能访问静态变量或静态方法。口诀:静态方法只能访问静态成员。理解: 静态方法可以通过形参传入对象的方式,间接访问到非静态的成员普通成员方法,既可以访问非静态成员,也可以访问静态变量(方法)。小结:静态方法,只能访问静态的成员,非静态的方法,可以访问静态成员和非静态成员(但是必须要遵守访问权限)
2023年10月08日
0 阅读
0 评论
0 点赞