JavaBasic 类的封装

JavaBasic 类的封装

封装的概念

  • 封:

  • 限制代码可以被使用调用的“范围”

  • ”范围“:项目的结构目录

  • src:源码目录

  • 包:给代码文件分类

  • 类文件:写代码的文件

  • 类:代码

  • 属性 方法

  • 为了数据操作的”安全“性 数据的格式 使用范围 规范性

  • 装:

  • 打包,提供一种比较使用方便的范式

访问权限修饰符

  • public:整个项目都可写

  • private:只能在本类中使用

  • protected:子类或本类中可以使用

封装方法:get/set

  • 格式:get属性名/set属性名

  • set:给属性赋值

  • get:得到属性的值

  • 读写:

  • 封装方法实现了读写分离

  • 格式更加规范,代码更加简便

  • 对传入的数据进行验证

  • 对返回的数据进行格式化

this指针

  • 指代调用这部分代码的对象

  • 一个对象在调用自己类中的属性时 可以使用this指针

  • 也可以用于方法调用

构造函数

  • 格式:以调用名为函数名的初始函数

  • 没有返回值结构

  • 创建对象时使用

  • 每个类自带一个隐式的空构造函数

  • 若书写了一个含参的构造函数,则空构造函数无法使用

##创建对象时也需要封装

  • 不让类之外来创建对象

  • 单例模型:

  • 一个类中只有一个对象

  • 实现单例:

  • 1: 私有化构造函数

  • 2: 在类中创建一个唯一的对象 关键字:static

  • 3: 在类之外可使用类名调用

  • static : 静态的

  • 修饰属性 变量时 在内存中只会创建一次且一个

  • 可以用类名直接调用

    package lyq02281;

public class User {
    private String name;
    private int Age;
    private String password;
    private int id;
    private int score;
    private long time;

    static User king = new User();

    private User(){
        System.out.println("User的构造函数");
    }
    private User(String name,int Age,String password,int id,int score,long time){
        this.name=name;
        this.Age=Age;
        this.password=password;
        this.id=id;
        this.score=score;
        this.time=time;
    }

    public void setName(String name){
        if(name.length () < 5){
            throw new IllegalArgumentException ("用户名的长度至少有5个字符。");
        }
        // 就近原则  使用最近定义的变量名
        this.name = name;
//        getName ();
    }

    public String getName(){
        return this.name;
    }
}

class Manage{
    public static void main(String[] args) {
        User u1 = User.king;
        u1.setName ("LinYQ");
        System.out.println(u1.getName());
    }
}
  • 运行结果

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
为了方便在Java项目中进行XSS过滤,我们可以封装一个通用的工具,提供XSS过滤方法,例如: ```java import org.jsoup.Jsoup; import org.jsoup.safety.Whitelist; public class XssUtils { /** * 对输入字符串进行XSS过滤 * @param input 输入字符串 * @return 过滤后的字符串 */ public static String xssFilter(String input) { if (input == null || input.isEmpty()) { return input; } return Jsoup.clean(input, Whitelist.basic()); } /** * 对输入字符串数组进行XSS过滤 * @param inputs 输入字符串数组 * @return 过滤后的字符串数组 */ public static String[] xssFilter(String[] inputs) { if (inputs == null || inputs.length == 0) { return inputs; } String[] results = new String[inputs.length]; for (int i = 0; i < inputs.length; i++) { results[i] = xssFilter(inputs[i]); } return results; } /** * 对输入字符串数组进行XSS过滤 * @param inputs 输入字符串数组 * @return 过滤后的字符串数组 */ public static String[] xssFilter(String... inputs) { return xssFilter(inputs); } } ``` 在上述代码中,我们封装了一个XssUtils,提供了三个方法用于对输入字符串或字符串数组进行XSS过滤。其中,xssFilter()方法使用了Jsoup的clean()方法进行基本的XSS过滤,可以防止一些常见的攻击。使用时,只需要在需要进行XSS过滤的地方调用XssUtils.xssFilter()方法即可。 例如,在处理HTTP请求的代码中,可以使用以下方式进行XSS过滤: ```java import javax.servlet.http.HttpServletRequest; public class MyController { @PostMapping("/submit") public String handleSubmit(HttpServletRequest request) { String name = XssUtils.xssFilter(request.getParameter("name")); String message = XssUtils.xssFilter(request.getParameter("message")); // ... return "success"; } } ``` 这样,我们就可以在Java项目中方便地进行XSS过滤了。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值