JAVA坎坷之路(3 day)

编程开发   © 文章版权由 admin 解释,禁止匿名转载

#楼主# 2022-6-22

重复使用的代码之方法

什么是方法

方法是一段可重复调用的代码

方法的格式

修饰符 返回值类型 方法名(参数类型 参数....)
{
return 返回值;
}

return 返回方法指定类型的值,并结束方法

面向对象三大特性
1.封装性
2.继承性
3.多态性
明天再继续[滑稽][滑稽]
半夜更新

面向对象封装性
由于内容过多分两部分发

public class User {
// 定义两个成员变量,并初始化赋值
String name = "凯特社区";
Integer age = 6;
// 权限控制
// 同一类内可以访问
private String nickname;
// 同一包中的类,同一类,不同包的类可以访问
protected Integer phone;
// 所有都可以访问
public String all;
//定义一个成员方法
public void userMethod()
{
System.out.println(name+"今年"+age+"岁了");
}
//为private修饰的变量创建get和set方法
public String getNickname() {
return nickname;
}

public void setNickname(String nickname) {
this.nickname = nickname;
}
// 同样构造方法也可以和方法一样重载
// 这里不在演示
public User(){
// 实例
// 这是错误的实例
// this("哈哈");
System.out.println("我是无参构造方法");
}
// this关键字
// 现在我们的构造方法name和我们定义的成员变量name重名了
// 我们想要让我们的成员变量name赋值为构造方法name
// name=name; 如果这样写,很可能导致获取的不是我们想要的结果
// this代表当前对象
// this就是所在函数所属对象的引用,简单来说,哪个对象调用了this所在的函数,this就代表哪个对象
public User(String name){
// 通过this调用构造方法,但是需要注意
// 不能再同一个类的两个构造方法中使用this相互调用
this();
// 通过this调用name成员变量
this.name=name;
// 通过this调用成员方法
this.userMethod();
System.out.println("有参构造方法"+name);
}
}

第二部分封装性
this关键字 static

public class Huluxia {
static{
System.out.println("我是静态代码块....");
}

public static void main(String[] args) {
// 创建User对象
User user = new User("888");
// 创建第二个User对象
User users = new User();
// 调用user对象的成员方法
user.userMethod();
// 给成员属性赋值
users.age=4;
// 给两个对象的属性赋值
user.age=5;
// 重新调用user对象的成员方法
// 发现虽然是用一个类
// 但是两个对象是互不影响的,说明它们是两个独立的存在
// 也就是说每一次新建对象都会开辟一个内存空间
user.userMethod();
// 对象的引用传递
// users给user分配使用权
user=users;
// 重新调用user对象的成员方法
// 我们发现凯特社区已经变成4岁了
// 也就是说我们上面给users的成员变量赋值生效了
// 并且我们不是调用users,而是user
// 说明user确实获得了users的使用权,所以这个时候两个对象都指向同一个内存空间
user.userMethod();
// 这个我们获取刚刚新建的变量
// 我们发现只有public和protected修饰的变量可以获取
// 因为private只有同一个类才可以获取
// 所以我们无法拿到private修饰的变量
// 那么我们就无法获取了吗?
user.phone=999;
user.all="sad";
// 下面有请Java的封装性
// 我们刚才通过创建的get和set方法来获取和修改
// private修饰的变量
// set方法用于设置变量
user.setNickname("private被修改了");
// get方法用于获取变量
String nickname = user.getNickname();
// 打印我们设置完成并获取的变量
System.out.println(nickname);
// ok 我们成功拿到设置后的变量
// 然后下面是构造方法
// 构造方法再实例化对象的时候就会调用
// 什么是实例化?
// 我们创建对象的时候就是实例化一个对象
// 代码块
// 因为其作用域不同,所以不会报错
// 被{}包括起来的就是一个代码块
// 代码块也可以使用static修饰
// static还可以修饰变量
{
int a = 0;
}
int a=0;
// static 静态属性 也叫全局属性 被static修饰的可以直接访问
// 普通代码调用
Huluxia huluxia = new Huluxia();
huluxia.aa();
// 静态代码调用
bb();
}
public void aa(){
System.out.println("普通方法");
}
public static void bb(){
System.out.println("静态方法");
}

}
没点基础还真看不懂你这个
不至于吧[勉强]
你们内行看门道,我这个门外汉看看热闹就好了,哈哈哈
[勉强]
我也喜欢看热闹[滑稽]
18楼
昵称139935 2022-6-22
写个接口吧[黑线]
[乖]不用吧
1 2

评论

登录后才可发表内容
  • 主题

    23

  • 帖子

    325

  • 关注者

    0

Copyright © 2019 凯特网.   Powered by HYBBS 2.3.4  

Runtime:0.0569s Mem:2129Kb