Welcome to Hexo! This is your very first post. Check documentation for more info. If you get any problems when using Hexo, you can find the answer in troubleshooting or you can ask me on GitHub.
$ hexo new "My New Post" |
More info: Writing
$ hexo server |
More info: Server
$ hexo generate |
More info: Generating
$ hexo deploy |
More info: Deployment
]]>*例 简单概念
public class Demo_Anonymous {
public static void main(String[] args) {
Person one = new Person();
one.name = "张三";
one.showName();
System.out.println("=====================");
new Person().name="lisa";
new Person().showName(); // 匿名对象只能调用一次 第二次使用则为创新了一个新的匿名对象
}
}
class Person{
String name;
public void showName() {
System.out.println(name);
}
}import java.util.Scanner;
public class Demo_06 {
public static void main(String[] args) {
// 匿名对象的方法
// int num = new Scanner(System.in).nextInt();
//
// System.out.println("输出的数字: "+ num);
// 匿名对象 作为方法的参数列表
Anonymous_ways(new Scanner(System.in));
}
public static void Anonymous_ways(Scanner sc) {
int num = sc.nextInt();
System.out.println("输出的数字是: " + num);
}
}
import java.util.Scanner;
public class Deom {
public static void main(String[] args) {
// 匿名对象作为方法的返回值
Scanner sc = methodReturn();
int num = sc.nextInt();
System.out.println("输出的数是: " + num);
//System.out.println(sc.nextInt()); 也可
}
public static Scanner methodReturn() {
return new Scanner(System.in);
}
}
]]>–某个功能只需要写一遍
–在使用这个功能时,只需传入相应的数据
–可以完成某个特定的功能,可以重复利用
public class show_function{ |
和用户交互的方法
// 创建一个扫描器对象,用于接收键盘数据 |
next() 不能得到带有空格的字符串
next Line()
public class Demo_arrylist {
public static void main(String[] args) {
Demo demo = new Demo();
demo.show("小米");
}
}
class Demo{
String name= "华为";
public void show(String name) {
System.out.println(name+ " 的友商是 "+ this.name );
}
}
认知不停 待更新见解…….
]]>1.构造方法的名称必须与类的名称相同
2.构造方法的前面没有返还类型 : public run(){}
3.如果你没有在类中定义构造方法,那么在编译阶段,编译器会自动给出一个构造方法,也就是说,编译器会在编译阶段在字节码文件中补充添加一个构造方法,此构造方法是没有参数的。
教科书上一般定义为:构造方法是为了创建一个对象 晦涩难懂
另一种简单的的说法: 初始化对象的内部状态 就是说给对象的各个属性赋初值
public class test1
{
public static void main(String[] args) {
Student p1 =new Student(18,"jack");
Student p2 =new Student(19,"jack");
p1.printlnof();
p2.getAge();
p2.printlnof();
}
}
class Student{
private int age;
private String name;
public Student(int age,String name) {
this.age=age;
this.name=name;
}
public void printlnof() {
System.out.println("age: "+age+" name: "+name);
}
public void getAge() {
int s=10;
age+=s;
}
}// 所谓 构造方法就是 对类的内部进行初始化
]]>这是加粗的文字
这是倾斜的文字
这是斜体加粗的文字这是加删除线的文字
这是引用的内容
添加图片的方法:
无序列表
语法:
用 - + * 任何一种都可以
有序列表
语法:
数字加点
代码处理:
语法:
单行代码:代码之间分别用一个反引号包起来
代码内容
代码块:代码之间分别用三个反引号包起来,且两边的反引号单独占一行
()
代码...
代码...
代码...
()
# 这是一级标题
## 这是二级标题
### 这是三级标题
#### 这是四级标题
##### 这是五级标题
###### 这是六级标题
**这是加粗的文字**
*这是倾斜的文字*
***这是斜体加粗的文字***
~~这是加删除线的文字~~
>这是引用的内容
分割线
---
----
***
*****
添加图片的方法:

添加超链接:
[简书](http://jianshu.com)
[百度](http://baidu.com)
无序列表
语法:
用 - + * 任何一种都可以
- 列表内容
+ 列表内容
* 列表内容
注意:- + * 跟内容之间都要有一个空格
有序列表
语法:
数字加点
1. 列表内容
2. 列表内容
3. 列表内容
注意:序号跟内容之间要有空格
代码处理:
语法:
单行代码:代码之间分别用一个反引号包起来
`代码内容`
代码块:代码之间分别用三个反引号包起来,且两边的反引号单独占一行
(```)
代码...
代码...
代码...
(```)
]]>因为笔记越写越多经常忘记上传 也没买个人域名 还是csdn快捷些 虽然有些小广告 无伤大雅 嘿嘿
]]>变量作用域
public class Variable{ |
类变量
加了static
常量
final double PI = 3.14; |
// 函数返回两个数中较大的那个数 |
int max(int num1, int num2);
int max(int, int); |
// 一个源文件中定义函数且在另一个文件中调用函数时,函数声明是必需的。在这种情况下,您应该在调用函数的文件顶部声明函数。
调用函数
//一个源文件中定义函数且在另一个文件中调用函数时,函数声明是必需的。在这种情况下,您应该在调用函数的文件顶部声明函数。
#include <iostream> |
// 结果
Max value is :200
// 定义简单的lambda表达式 |
// 指明返回类型 |
在方法声明中,在指定参数类型后面加一个省略号(…)
一个方法中只能指定一个可变参数,它必须是最后一个参数,任何普通参数必须在他之前声明
public class Demo04 { |
byte short char int long float double
int i = 10; |
自动转换
出现在 低转高
char a = "a"; |
/** |
原理:是 通过 Java 虚拟机根据 调用的方法自行对参数个数,参数类型等逐个匹配 聪儿选择对应的方法
]]>==什么叫做API==
link
app.js、app.json、app.wxss
关键的三个文件:.js后缀的是脚本文件,.json后缀的文件是配置文件,.wxss后缀的是样式表文件。微信小程序会读取这些文件,并生成小程序实例
==详解==
==注意==
每一个小程序页面是由同路径下同名的四个不同后缀文件的组成,如:==index.js、index.wxml、index.wxss、index.json==。.js后缀的文件是脚本文件,.json后缀的文件是配置文件,.wxss后缀的是样式表文件,.wxml后缀的文件是页面结构文件。
index.wxml 是页面的结构文件:本例中使用了
<!--index.wxml--> |
index.js 是页面的脚本文件,在这个文件中我们可以监听并处理页面的生命周期函数、获取小程序实例,声明并处理数据,响应页面交互事件等。
//index.js |
/**index.wxss**/ |
<!--logs.wxml--> |
//logs.js |
简单理解
一个例子
public class demo01 { |
// 2的三次方 |
位运算
A = 0011 1100
B = 0000 1101
A^B = 0011 0001 // 异或 相同取0 相异取1
~B = 1111 0010 // 取反
<< >>
<< 左移 相当于 *2 >> 右移 相当于 /2

layout: w
title: 面向对象三大特性
date: 2021-09-17 14:57:04
tags: 面向对象
categories: java
高内聚低耦合
高内聚就是类的内部数据操作细节自己来完成,不允许外部干涉;低耦合:仅暴露少量的方法给外部使用
封装(隐藏的数据)
应禁止直接访问一个对象中的数据的实际表示,而通过操作接口来访问,称之为信息隐蔽
封装大多数是对于 数据来说,对于方法较少使用

super的注意点:
Vs this:
代表的对象不同:
this 本身调用者这个对象
super :代表父类对象的应用前提:
this: 没有继承也可以使用
super:代表父类对象的应用

同一个方法可以根据发送对象的的不同而采用多种不同的行为方式
多态存在的条件
注意: 多态是方法的多态,属性没有多态性
不可
instanceof (类型转换)引用类型 判断一个对象是什么类型
// object person student
// object person teacher
Object object = new Student();
System.out.println(object instanceof Student );
// ture
// 主要是观看 instanceof 左右两边是否 有继承关系
<!--0-->
需要转换条件:
声明
int[] nums;// 声明一个数组 |
简化统一 :静态初始化
int[] nums ={1,2,3,4,5}; |
直接将声明和初始化放在一块:动态初始化
int[] nums = new int[10]; |
小结①:

int[][] array ={{1,2},{2,3},{3,4},{4,5}}; |
工具类
列举几个常用的方法
int[] nums ={1,2,3,5,4}; |