草稿三

不同包中的类如何访问

package packa

class DemoA

{

   void show(){

sop(“dsfsdfsd”);

}

}

1.要使一个包被另一个包访问 则需要被public修饰,并且被访问的成员也要public


2.proteced 你认我为父  你能拿到别人拿不到的  


子类全部继承父类 还自己扩展 所以子类比父类大


class T{

private int i=0;

     default j=0;

       proteced int k=0;

       public int m=0;

}

class TT{

public void m(){

     T t=new T();

      sop(t.j);

}

}


default 同一个包中可以访问

proteced 内部, 同一个包中 ,子类, 都能访问 ,但是不同的包不是子类不能访问


private 继承了也不能访问  




子类继承父类的构造函数 用super()来访问


重写不能使权限变小了 比如父类是public 那么重写必须是public  总之不能使权限变小了


override


权限大小比较 public>protected>default>private




super  指向父类对象


继承中的构造方法 super必须写在第一句话


Object类

所有的类都继承了object

public class Person(){}自己编写的类也继承了object

finalize()

getClass()拿到编译好的class文件

hashcode()

toString()返回代表对象的字符串,描述当前对象的信息,一般建议重写这个方法

如 sop(“info”+Person) 类和字符串相连接 类自动调用toString方法

public class TestToString{

    public static void main (String[] args){

  Dog d=new Dog();

      sop(d);//d会调用toString方法

}


}

hashcode 指的是对象的地址值

hashcode table 每一个对象都有独一无二的哈希编码



class Dog{

}


equlas在父类的作用是 如果是一个对象则返回false

equlas 比较对象里面的内容

public boolean equlas(Object obj){

if(obj==null)

return false;else {

if(obj instanceof Cat){

Cat c=(Cat)obj;

if(c.color==this.color)

         return true;

}

}

 return false;


}


String s1=new String("hlleo");

String s2=new String("hlleo");


s1==s2  false

s1.equals(s2);  true


对象转型  父类的引用 也可以用子类

但不能用子类里面所有的方法 因为有的方法不是全部动物都具有的



多态=动态绑定

执行期间而不是编译期间 根据实际类型调用相应的方法


父类引用指向子类对象  父类里面被重写方法是调用子类重写的方法


1.要有继承

2.要有重写

3父类引用指向子类对象


抽象类 

1,类名必须含有abstract

2,抽象方法定义

public abstract void enjoy();

抽象类不能实例化 必须被实现后才能被new

3抽象类中可以有不抽象的方法



方法不想被重写 用final

pulic class TestFinal{

     publi static void main(String[] args){


}

}

class T{

     final int i=8;

piblic void m(fianl int j){


}//不允许j在方法中被改变

}


fianl 如果修饰类 怎不能被继承

如 string类不能被继承



接口


特殊的抽象类

接口中所有的成员变量都用 static final 写不写都一样 默认的

所有的方法不用写abstract

Singer s2=new Teacher();

只能用Singer里面的方法


1.发生方法重写的两个方法返回值、方法名、参数列表必须完全一致


为什么JAVA 接口中的方法默认都是PUBLIC的?

原文首先说,接口中的方法,无论你写不写public,都是public的。

接下来又说,当一个类实现接口的时候,从接口来的方法必须是写成public的。

然后是你罗列的这句,如果没写成public(为什么能想到不加public呢?因为接口中可以省略public),那方法为默认的包访问权限,这样就在继承的过程中降低了接口中的方法(public)的访问权限。


类与类之间的组合关系

聚集  has a 谁里面有谁  聚集分 聚合和组合

聚合 班级由一帮人组成  

组合  事物联系程度更紧密


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Redis是一种内存数据库,可以用于实现草稿箱功能。下面是一个使用Redis实现草稿箱的简单示例: 1. 连接到Redis:首先,你需要通过Java Redis客户端连接到Redis数据库。例如,可以使用Jedis或Lettuce等流行的Redis客户端库。 2. 保存草稿:当用户选择保存内容为草稿时,将草稿的内容存储在Redis中。可以使用哈希表(Hash)来表示每个草稿,其中键是草稿的唯一标识符,而字段和值可以表示草稿的各个属性,如标题、内容和创建时间等。 ```java Jedis jedis = new Jedis("localhost", 6379); String draftId = "draft:123"; Map<String, String> draftData = new HashMap<>(); draftData.put("title", "My Draft"); draftData.put("content", "This is my draft content"); draftData.put("created", "2021-10-01"); jedis.hmset(draftId, draftData); ``` 3. 获取草稿:当用户需要编辑草稿时,通过草稿的唯一标识符从Redis中获取草稿的详细信息。 ```java Map<String, String> draftData = jedis.hgetAll(draftId); String title = draftData.get("title"); String content = draftData.get("content"); // 显示在编辑界面供用户修改 ``` 4. 更新草稿:当用户对草稿进行修改后,更新Redis中对应草稿的内容。 ```java Map<String, String> updatedData = new HashMap<>(); updatedData.put("title", "Updated Draft"); updatedData.put("content", "This is the updated draft content"); jedis.hmset(draftId, updatedData); ``` 5. 删除草稿:如果用户决定删除草稿,从Redis中删除对应的草稿数据。 ```java jedis.del(draftId); ``` 需要注意的是,上述示例只提供了基本的操作,实际应用中可能还需要考虑并发访问、草稿列表的管理、过期时间设置等其他方面的功能。此外,你还可以根据具体需求添加其他字段或操作来扩展草稿功能。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值