封装
- 类与对象
- 我们在类中会构造方法,定义属性,定义方法。
- 在对象中,会进行属性赋值,并且调用方法。
- 封装
- 封装:针对属性用到访问权限修饰符
- 访问权限修饰符:public/private/protected/(缺省/空的)
- 访问权限修饰符使用范围:
- 整个项目:public
- 同一个包内:缺省的/protected
- 类.java文件中:private
封装过程
- 将属性用private修饰,将其私有化
- 给外界public提供get和set方法,让外界间接的访问和操作属性
- User.java中
- 在定义类中,用访问权限修饰符private对属性name,age,height进行访问权限限制。
- 限制条件为 年龄不小于20岁 身高不低于160cm
首先对属性进行封装
public class User{
private String name;
private int age;
private int height;
}
针对属性name进行get方法取值
public String getName(){
return name;
}
针对属性name进行set方法赋值
public void Setname(String name){
this.name=name;
//输入需要的代码命令
}
同理对属性age,height进行get与set方法
public int getAge(){
return age;
}
public void Setage(int age){
if(age<20){
System.out.println("未成年");
}else{
this.age=age;
}
}
public int getHeight(){
return height;
}
public void Setheight(int height){
if(height<160){
System.out.println("身高不达标");
}else{this.height=height;
}
}
public void showInfo(){
System.out.println(name+age+height)
}
- UserManage.java中
public class UserManage(){
public static void main(String[]args){
User user=new User();
user.setName("qwb");
user.setAge(18);
user.setHeight(180);
uesr.showInfo();
}
}
构造方法
public class User{
//首先对属性进行封装
private String name;
private int age;
private int height;
//接着构造方法
//格式如下
public User(String name, int age,int height){
//有参数的构造方法,括号内加入属性
this.name=name;
this.age=age;
this.height=height;
}
public void showInfo(){
System.out.println(name+age+height)
}
public class UserManage(){
public static void main(String[]args){
User user=new User("qwb",18,180);
//构造对象方法,即在创建对象时,在对象后面括号内对属性赋值
uesr.showInfo();
}
}
public class User{
//首先对属性进行封装
private String name;
private int age;
private int height;
//接着构造方法
//格式如下
public User(){
//无参数的构造方法,括号内不加入属性
this.name=name;
this.age=age;
this.height=height;
}
public void showInfo(){
System.out.println(name+age+height)
}
public class UserManage(){
public static void main(String[]args){
User user=new User();
//无参数的构造对象方法,
user.setName("qwb");
user.setAge(18);
user.setHeight(180);
uesr.showInfo();
}
}
- 总结封装的三种写法
- 属性封装+get与set方法
- 属性封装+构造方法有参数
- 属性封装+构造方法无参数
绑定画布的三种方法
方法一:直接复制地址
DrawUI.java
Graphics g=jf.getGraphics();
DrawListen drawlisten=new DrawListen(g);
jf.addMouseListener(drawlisten);
drawlisten.g=g;
DrawListen.java
Graphics g;
方法二:有参
DrawUI.java
Graphics g=jf.getGraphics();
DrawListen drawlisten=new DrawListen(g);
jf.addMouseListener(drawlisten);
DrawListen.java
private Graphics g;
public DrawListen(Graphics g){
this.g=g;
}
方法三:无参
DrawUI.java
Graphics g=jf.getGraphics();
DrawListen drawlisten=new DrawListen();
jf.addMouseListener(drawlisten);
DrawListen.java
private Graphics g;
public DrawListen(){
}