miluframe({
/*个人链接地址*/
Youself:'https://www.cnblogs.com/miluluyo/',
/*导航栏信息*/
custom:[{
name:'留言板',
link:'https://www.cnblogs.com/miluluyo/p/11578505.html',
istarget:false
},{
name:'技能树',
link:'https://miluluyo.github.io/',
istarget:true
}],
/*自己的友链页面后缀*/
Friends_of_the:'p/11633791.html',
/*自己的友链信息*/
resume:{
"name":"麋鹿鲁哟",
"link":"https://www.cnblogs.com/miluluyo",
"headurl":"https://images.cnblogs.com/cnblogs_com/elkyo/1558759/o_o_my.jpg",
"introduction":"大道至简,知易行难。"
},
/*友链信息*/
unionbox:[{
"name":"麋鹿鲁哟",
"introduction":"生活是没有标准答案的。",
"url":"https://www.cnblogs.com/miluluyo",
"headurl":"https://images.cnblogs.com/cnblogs_com/elkyo/1558759/o_o_my.jpg"
},{
"name":"麋鹿鲁哟的技能树",
"introduction":"大道至简,知易行难。",
"url":"https://miluluyo.github.io/",
"headurl":"https://images.cnblogs.com/cnblogs_com/elkyo/1558759/o_o_my.jpg"
}],
/*点击页面时候的弹出文本显示*/
clicktext:new Array("ヾ(◍°∇°◍)ノ゙加油哟~ ——麋鹿鲁哟","生活是没有标准答案的。 ——麋鹿鲁哟"),
/*github链接*/
githuburl:'https://github.com/miluluyo'
})
类的内部结构:
属性、方法、构造器、代码块、内部类
代码块:
代码块又称为初始化块,属于类的一个成员,它是将一些逻辑语句封装在方法体中。
通过一对{}包裹。代码块没有方法名,没有参数,没有返回值,只有方法体。
它是不需要通过对象或类进行显式的调用,他会在类加载或者创建对象时主动的隐式调用。
(1)静态代码块
一个类被加载时会被调用一次,做一些初始化的工作。
*(2)实例代码块
每次创建实例,都会被调用一次
面试:静态块/实例块/构造器
父类优于子类/静态块优于其它
当没有继承关系时,静态块--实力块--构造器
有继承关系时,父类静态块--子类静态块--父类实例块--父类构造器--子类实例块--子类构造器
static静态:
属性,方法,代码块
用static修饰的结构,不属于任何一个对象
static内存解析
1、静态的变量或者静态方法存在于方法区的。静态的结构不会被垃圾回收
2、不属于某一个实例对象的,只存在于方法区。调用静态结构,直接用类名.的方法
实例方法和静态方法的互相调用
1、静态方法中不可以直接调用实例方法
如果想用,对象.方法名
2、实例方法中可以直接调用静态方法
静态的结构的加载,随着类的加载而加载
非静态的结构,随着对象的创建而加载!!!
在java中调用实例方法,必须要有主体,方法不能直接调用
静态方法无论在哪里都是类名.方法名调用,同一个类的静态方法之间可以省略
静态方法是没有重写这个概念的
//接口中的常量默认public static final
//开发中,基本上默认常量声明都是public static final
this和super
无论是this还是super,都不可以在静态结构中使用。
this和super。this.方法。super.方法
静态结构是属于类的,静态结构是优先于对象存在的。
this和super,必须有对象才能出现,必须得有实例。
外部类:
一个public声明的类,类名必须和.java的文件名相同。
生成的.class文件是两个独立的.class
外部类就是两个类
开发中,尽量不要写外部类。
类的组成结构:
设计模式:
人们为软件开发中抽象出可重复利用的解决方案。
软件开发工程师之间沟通的"行话"
面向对象的设计原则。
1、开闭原则(Open Close Principle)
对扩展开放,对修改关闭。(继承,实现接口)
我们可以通过“抽象约束,封装变化”来实现开闭原则。
通过接口或者抽象类为软件定义一个相对稳定的抽象层。
将相同的可变因素封装在相同的具体实现类中,派生一个实体类就可以了
2、里氏代换原则
子类继承父类时,除了添加新的方法完成新增功能外,尽量不要重写父类
3、依赖倒转原则
要面向接口编程,不要面向实现编程。
a、每个类尽量提供接口或抽象类,或者两者兼备
b、变量的类型声明尽量是接口或者抽象类
c、任何类都不应该从具体类派生
d、使用继承时,要遵循里氏代换原则。
4、接口隔离原则
使用多个隔离的接口。
5、迪米特原则
6、合成复用原则
7、单一原则:一个类只做一件事
单例模式:
一个类只有一个实例。
思路:
1、别人不能new,构造器私有化,不能在类的外部通过new去实例化。
2、在该类内部产生一个唯一的实例对象,把它封装成static类型
3.定义一个静态方法返回这个唯一的对象。
饿汉式单例模式
不管以后会不会使用到该实例化俺对象,先创建了再说。
实现的办法就是直接new实例化
public class Ch03 {
private static final Ch03 ch03=new Ch03();
private Ch03(){}
public static Ch03 getInstance(){
return ch03;
}
}
懒汉式(延迟加载)
什么时候调用getInstance方法,什么时候new
这种懒汉式在多线程环境中完全错误的,根本不能保证单例的状态。
内部类实现单例
也是懒汉式的一种,这种懒汉式没有线程的问题
结合了懒汉式和饿汉式的优点
只要不调用getInstance方法,
内部类一旦被使用一次只会被初始化一次,以后一直用的是instance
public class Ch05 {
//私有化构造器
private static Ch05 getInstance(){
return SingletonHolder.instance;
}
public static class SingletonHolder{
private static final Ch05 instance=new Ch05();
}
}
箭头函数:JDK8的新特性
函数式接口:如果一个接口只有一个抽象方法,这个接口就称为函数式接口。
可以用注解@FunctionalInterface
1.有参数有返回值
(i,j)——>
2.有参数无返回值
(i,j)——>{方法体}
这个结构可以分为三部分:
1.小括号包裹形参,类型不要
2.——>
3.——>方法体
()——>system.out.println("重写的show方法...")
重写的方法体只有一句话时,可以这么写
test(()——>"你好");
心得体会:
今天学习了外部类,内部类,还有三种设计模式,老师讲的很好,但是我自己理解能力较差,因此不是很明白,做题正确率也不高,还需要多练习,多请教同学。
posted @
2022-07-27 22:17
jinjidecainiao
阅读(
58 )
评论()
收藏
举报
@media only screen and (max-width: 767px){
#sidebar_search_box input[type=text]{width:calc(100% - 24px)}
}
L2Dwidget.init({
"model": {
jsonPath: "https://unpkg.com/live2d-widget-model-hijiki/assets/hijiki.model.json",
"scale": 1
},
"display": {
"position": "left",
"width": 100,
"height": 200,
"hOffset": 70,
"vOffset": 0
},
"mobile": {
"show": true,
"scale": 0.5
},
"react": {
"opacityDefault": 0.7,
"opacityOnHover": 0.2
}
});
window.onload = function(){
$("#live2dcanvas").attr("style","position: fixed; opacity: 0.7; left: 70px; bottom: 0px; z-index: 1; pointer-events: none;")
}
参数说明
名称
类型
默认值/实例
描述Youself
字符串
https://www.cnblogs.com/miluluyo/
个人博客园首链接
custom
数组
[{
name:'相册',
link:'https://www.cnblogs.com/elkyo/gallery.html',
istarget:false
},{
name:'技能树',
link:'https://miluluyo.github.io/',
istarget:true
},{
name:'留言板',
link:'https://miluluyo.github.io/p/11578505.html',
istarget:false
}]
导航信息
name 导航名
link 导航链接
istarget true跳转到新页面上,false当前页面打开
Friends_of_the
字符串
11633791
友链文章的后缀名,若字符串为空则不显示友链
resume
对象
{
"name":"麋鹿鲁哟",
"link":"https://www.cnblogs.com/miluluyo/",
"headurl":"https://images.cnblogs.com/cnblogs_com/
elkyo/1558759/o_o_my.jpg",
"introduction":"大道至简,知易行难。"
}
自己的友链信息
name 导航名
link 导航链接
headurl 头像
introduction 语录
unionbox
数组
[{
"name":"麋鹿鲁哟",
"introduction":"生活是没有标准答案的。",
"url":"https://www.cnblogs.com/miluluyo",
"headurl":"https://images.cnblogs.com/cnblogs_com/
elkyo/1558759/o_o_my.jpg"
},{
"name":"麋鹿鲁哟的技能树",
"introduction":"大道至简,知易行难。",
"url":"https://miluluyo.github.io/",
"headurl":"https://images.cnblogs.com/cnblogs_com/
elkyo/1558759/o_o_my.jpg"
}]
友链数组
name 昵称
introduction 标语
url 链接地址
headurl 头像地址
clicktext
新数组
new Array("ヾ(◍°∇°◍)ノ゙加油哟~ ——麋鹿鲁哟",
"生活是没有标准答案的。 ——麋鹿鲁哟"),
点击页面时候的弹出显示
githuburl
字符串
https://github.com/miluluyo
github链接