20160711

------English20160711------
1、polymorphism
英 [,p?l?'m??f?z(?)m] 美 [,pɑl?'m?rf?zm]
n. 多態(tài)性;多形性;同質(zhì)多晶
Polymorphism means the ability to assign a different meaning or usage to something in different contexts -- specifically, to allow an object to have more than one form.

2、
algorithm
英 ['?lg?r?e(?)m] 美 ['?lg?'r?e?m]
n. [計][數(shù)] 算法,運算法則
As with the LCS algorithm, for each cell you have three choices and pick the maximum one.

3、inflater
[in'fleit?]
n. 增壓泵;充氣者
getMenuInflater()

4、inflate
英 [?n'fle?t] 美 [?n'flet]
vt. 使充氣;使通貨膨脹
vi. 膨脹;充氣
getMenuInflater().inflate(R.menu.main, menu);

5、toast
英 [t??st] 美 [tost]
n. 干杯;烤面包;接受敬酒的人;(在某領(lǐng)域)廣受贊譽的人
vt. 向…祝酒,為…干杯
vi. 烤火,取暖;使暖和;烘烤(面包片等)
Toast.makeText(Context, Content, ShowTime).show;

6、category
英 ['k?t?g(?)r?] 美 ['k?t?ɡ?ri]
n. 種類,分類;[數(shù)] 范疇
<category android:name="android.intent.category.DEFAULT"/>
<category android:name="android.intent.category.LAUNCHER"/>
intent.addCategory();

7、intent
英 [?n'tent] 美 [?n't?nt]
n. 意圖;目的;含義
adj. 專心的;急切的;堅決的
Intent intent = new Intent(Context, class);
intent.putExtra(key, value);
intent.setData(Uri.parse("tel:10086"));

------JAVA20160711------
1、方法重載:同一個類里多個同名方法,只是參數(shù)列表不同,返回值一樣
2、變量分類
成員變量:實例變量(沒有static)、類變量(static)
局部變量:形參、方法局部變量、代碼塊局部變量
3、若局部變量和成員變量同名,局部變量會覆蓋成員變量,需要在這個方法里訪問這個被覆蓋的成員變量,需要使用this或類名作為調(diào)用者來限定訪問成員變量
4、避免使用對象實例訪問類變量(實例名.類變量),這是一個陷阱
5、定義局部變量后,系統(tǒng)并未為這個變量分配內(nèi)存空間,直到程序為這個變量賦初始值時,系統(tǒng)才會為局部變量分配空間
6、封裝,就是將對象的狀態(tài)信息隱藏在對象內(nèi)部,不允許外部程序直接訪問對象的內(nèi)部信息,而是通過該類所提供的方法來實現(xiàn)對內(nèi)部信息的操作和訪問
7、訪問控制符的訪問權(quán)限
private->default->protected->public
private(當前類訪問權(quán)限):只能被當前類訪問
default(包訪問權(quán)限):相同包下的類可以訪問
protected(子類訪問權(quán)限):同一個包中的其他類,不同包的子類訪問
public(公共訪問權(quán)限):可被所有類訪問
8、如果Java源文件里沒有public類,則源文件名可以是任意合法的文件名;如果有一個public類,則文件名必須和該類的名稱一樣
9、JavaBean規(guī)范的類
所有成員變量都用private修飾
為每個成員變量提供getter和setter
10、包
將類放在包里:package packageName;//第一行非注釋行,一個源文件只能指定一個包
位于包中的類,在文件系統(tǒng)中也必須有與包名層次相同的目錄結(jié)構(gòu)
建議使用Internet域名到寫來作為包名
一個包里的類要訪問該包的子包里的類,必須使用全路徑訪問(包名.子包名.被訪問類名)
import語句:
import package.subpackage.ClassName;//package之后,類定義之前,可以多個
import package.subpackage.;//導入包內(nèi)所有的類,不包括子包內(nèi)的類
使用import語句后,不需要再使用類全名(包前綴)
Java默認為所有源文件導入java.lang包下的所有類
import static語句:
導入指定類的單個靜態(tài)變量、方法和全部靜態(tài)成員變量、方法
import static package.subpackage.ClassName.fieldName|methodName;
import static package.subpackage.ClassName.
;//全部靜態(tài)變量和靜態(tài)方法
11、java常用包
java核心類放在java包及其子包,java擴展的許多類都放在javax包及其子包下
java.lang:包含java語言的核心類
java.util:包含java的大量工具類、接口和集合框架類、接口
java.net:包含一些java網(wǎng)絡(luò)編程相關(guān)的類、接口
java.io:包含一些java輸入、輸出編程相關(guān)的類、接口
java.text:包含一些java格式化相關(guān)的類
java.sql:包含java進行JDBC數(shù)據(jù)庫編程的相關(guān)類、接口
java.awt:包含抽象窗口工具集的相關(guān)類、接口
java.swing:包含Swing圖形用戶界面編程的相關(guān)類、接口
12、類的構(gòu)造器
如果沒有編寫構(gòu)造器,系統(tǒng)會提供一個無參數(shù)的構(gòu)造器,進行默認初始化(數(shù)值型)0、(布爾型)false、(引用類型)null
一旦程序員提供了自定義的構(gòu)造器,系統(tǒng)就不再提供默認的構(gòu)造器
同一個類里居右多個構(gòu)造器,多個構(gòu)造器的形參列表不同,即被稱為構(gòu)造器重載
可在構(gòu)造器里使用this訪問其他構(gòu)造器,必須出現(xiàn)在構(gòu)造器的第一行
可使用super關(guān)鍵字訪問父類的構(gòu)造器,必須出現(xiàn)在構(gòu)造器的第一行
this和super只能二選一
13、類的繼承
java類的繼承通過extends關(guān)鍵字來實現(xiàn)
修飾符 class SubClass extends SuperClass{
statement;
}
單一繼承,每個類只有一個直接父類,默認的父類是Object類
子類包含與父類同名方法的現(xiàn)象被稱為方法重寫(Override),也被稱為方法覆蓋
方法的重寫遵循"兩同兩小一大"規(guī)則,“兩同”即方法名相同,“兩小”指的是子類方法返回值類型應比父類方法返回值類型更小或相等,子類方法聲明拋出的異常類應比父類方法聲明拋出的異常類更小或相等;“一大”指的是子類方法的訪問權(quán)限應比父類方法的訪問權(quán)限更大或相等
子類中訪問父類的方法,使用super或者父類類名作為調(diào)用者來調(diào)用父類中被覆蓋的方法,在static方法里不能使用
如果子類定義了和父類同名的實例變量,則會發(fā)生子類實例變量隱藏父類實例變量,默認訪問子類定義的實例變量,可使用super來訪問父類中被隱藏的實例變量
如果訪問成員變量a時沒有顯式指定調(diào)用者,則系統(tǒng)查找實例變量a的順序為:
A.查找該方法中是否有名為a的局部變量
B.查找當前類中是否包含名為a的成員變量
C.查找a的直接父類中是否包含名為a的成員變量,一次上溯a的所有父類,知道java.lang.Object類,如果最終不能找到名為a的成員變量,則系統(tǒng)出現(xiàn)錯誤
如果被覆蓋的是類變量,在子類的方法中則可以通過父類名來作為調(diào)用者訪問被覆蓋的類變量
當在創(chuàng)建子類對象時,依然會為父類中定義的、被隱藏的變量分配內(nèi)存空間
可使用super關(guān)鍵字訪問父類的構(gòu)造器,必須出現(xiàn)在構(gòu)造器的第一行
this和super只能二選一
子類構(gòu)造器執(zhí)行體的第一行代碼使用this顯式調(diào)用本類中重載的構(gòu)造器,系統(tǒng)將根據(jù)this調(diào)用里傳入的實參列表調(diào)用本類中的另一個構(gòu)造器。執(zhí)行本類中另一個構(gòu)造器時即會調(diào)用父類構(gòu)造器
如果子類構(gòu)造器執(zhí)行體中既沒有super調(diào)用,也沒有this調(diào)用,系統(tǒng)將會在執(zhí)行子類構(gòu)造器之前,隱式調(diào)用父類無參數(shù)的構(gòu)造器
創(chuàng)建任何對象總是從該類所在繼承樹最頂層類的構(gòu)造器開始執(zhí)行,然后依次鄉(xiāng)下執(zhí)行,最后才執(zhí)行到本類的構(gòu)造器
14、多態(tài)
多態(tài):把一個子類對象直接賦值給一個父類引用變量,無須任何類型轉(zhuǎn)換,被稱為向上轉(zhuǎn)型,向上轉(zhuǎn)型由系統(tǒng)自動完成
當一個子類對象直接賦值給父類引用變量時,當運行時調(diào)用該引用變量時,其方法行為總是表現(xiàn)出子類方法的行為特征,而不是父類方法的行為特征,這就可能出現(xiàn):相同類型的變量、調(diào)用同一個方法時呈現(xiàn)出
多種不同的行為特征,這就是多態(tài)
引用變量在編譯階段只能調(diào)用其編譯時類型所具有的方法,但運行時刻則執(zhí)行它運行時所具有方法
通過引用變量來訪問其包含的實例變量時,系統(tǒng)總是試圖訪問它編譯時類型所定義的成員變量,而不是它運行時類型定義的成員變量
如果要讓引用變量調(diào)用它運行時類型的方法,則必須把它強制類型轉(zhuǎn)換成運行時類型,強制類型轉(zhuǎn)換需要借助于類型轉(zhuǎn)換類型
類型轉(zhuǎn)換運算符:(type)variable
基本類型只能在數(shù)值類型之間進行,引用類型之間的轉(zhuǎn)換只能在具有繼承關(guān)系兩個類型之間進行
強制類型轉(zhuǎn)換時可能出現(xiàn)異常,在進行類型轉(zhuǎn)換之前應先通過instanceof運算符來判斷是否可以成功轉(zhuǎn)換
引用變量 instanceof 類名

------read by <瘋狂java> P151------

------數(shù)據(jù)庫20160711------
1、系統(tǒng)數(shù)據(jù)庫
master數(shù)據(jù)庫:記錄SQL Server實例的所有系統(tǒng)級信息
msdb數(shù)據(jù)庫:用于SQL Server代理計劃警報和作業(yè)
model數(shù)據(jù)庫:用于SQL Server實例上創(chuàng)建的所有數(shù)據(jù)庫和模版。對model數(shù)據(jù)庫進行的修改(如數(shù)據(jù)庫大小、排序規(guī)則、恢復模式和其他數(shù)據(jù)庫選項)將應用與以后創(chuàng)建的所有數(shù)據(jù)庫
Resource數(shù)據(jù)庫:一個只讀數(shù)據(jù)庫,包含SQL Server包括的系統(tǒng)對象,系統(tǒng)對象在物理保留在Resource數(shù)據(jù)庫中,但在邏輯上顯示在每個數(shù)據(jù)庫的sys架構(gòu)中
tempdb數(shù)據(jù)庫:一個工作空間,用于保存臨時對象或中間結(jié)果集
2、SQL創(chuàng)建數(shù)據(jù)庫
create database Stu_db2
on primary --primary是指定關(guān)聯(lián)的文件列表,定義主文件
(name=studio_db2,
filename='d:\studio_db2.mdf',
size=3mb,
maxsize=unlimited,
filegrowth=10%
),
(name=studio_db_two,
filename='e:\stu_db2_two.ndf',
size=3mb,
maxsize=500mb,
filegrowth=10mb
),
filegroup studio_new_group --一個新的文件組
(name=studio_db_new,
filename='d:\studio_db2_new.ndf',
size=3mb,
maxsize=300mb,
filegrowth=0)
log on
(name=studio_log,
filename='d:\studio_log.ldf',
size=3mb,
maxsize=20mb,
filegrowth=1mb
)

create database Stu_db3 //以model數(shù)據(jù)庫默認的設(shè)置創(chuàng)建數(shù)據(jù)庫,主文件初始3mb,增量1mb,大小不限制;日志文件初始1mb,增量10%,上線2TB
數(shù)據(jù)庫主文件默認名字:數(shù)據(jù)庫名字.MDF;日志文件默認名字:數(shù)據(jù)庫名字_LOG.LDF;
右擊數(shù)據(jù)庫-“屬性”-“文件”,可查看數(shù)據(jù)庫文件存放位置

3、數(shù)據(jù)庫文件類型
主要數(shù)據(jù)文件:主要數(shù)據(jù)文件包含數(shù)據(jù)庫的啟動信息,并指向數(shù)據(jù)庫中的其他文件。用戶數(shù)據(jù)和對象可存儲在此文件中,也可以存儲在次要數(shù)據(jù)文件中。每個數(shù)據(jù)庫有一個主要數(shù)據(jù)文件。擴展名為.mdf
次要數(shù)據(jù)文件:次要數(shù)據(jù)文件是可選的,由用戶定義并存儲用戶數(shù)據(jù)。通過將每個文件放在不同的磁盤驅(qū)動器上,次要文件可用戶將數(shù)據(jù)分散到多個磁盤上。另外,如果數(shù)據(jù)庫超過了單個Windows文件的
最大大小,可以使用次要數(shù)據(jù)文件,這樣數(shù)據(jù)庫就能繼續(xù)增長,擴展名為.ndf
事務日志:事務日志,擴展名為.ldf
4、文件組
文件組包含主要數(shù)據(jù)文件和未放入其他文件組的所有次要文件
可以明確的在文件組上創(chuàng)建一個表,對表中數(shù)據(jù)的查詢將分散到三個磁盤上,從而提高性能
數(shù)據(jù)庫中創(chuàng)建對象時沒有指定對象所屬的文件組,對象將被分配給默認文件組。
PRIMARY文件組是默認文件組,除非使用ALTER DATABASE語句進行更改,不過就算改了,系統(tǒng)對象和表依然分配給PRIMARY文件組,而不是新的默認文件組
SQL增加新文件組:
ALTER DATABASE Stu_db1 ADD FILEGROUP file_group
SQL向文件組中添加文件:
ALTER DATABASE Stu_db1 ADD FILE(
name = "new_datafile",
filename="d:\new_datafile.ndf",
size=3072kb,
filegrowth=1024kb
)
TO FILEGROUP file_group
SQL刪除數(shù)據(jù)庫文件:
ALTER DATABASE Stu_db3 REMOVE FILE SSS ---不加擴展名
SQL設(shè)置默認文件組:
ALTER DATABASE onedb_bak MODIFY FILEGROUP Two_fg DEFAULT
SQ修改文件組名稱:
ALTER DATABASE Onedb_bak MODIFY FILEGROUP Two_fg name=User_fg
SQL設(shè)置文件組中的文件只讀:
ALTER DATABASE onedb_bak MODIFY FILEGROUP User_fg READONLY
SQL刪除文件組:
ALTER DATABSE Onedb_bak REMOVE FILEGROUP User_fg ---文件組中必須沒有文件
文件組的填充策略:
A.文件組對組內(nèi)的所有文件都使用按比例填充策略。當數(shù)據(jù)寫入文件組時,SQL Server數(shù)據(jù)庫引擎按文件中的可用控件比例將數(shù)據(jù)寫入文件組中的每個文件,而不是將所有數(shù)據(jù)都寫入第一個文件直至其變
滿,然后再寫入下一個文件
B.假定將數(shù)據(jù)庫設(shè)置為自動增長,當文件組中的所有文件填滿后,數(shù)據(jù)庫引擎便會采用自動循環(huán)方式一次自動擴展一個文件以容納更多的數(shù)據(jù)
5、優(yōu)化數(shù)據(jù)庫的策略
通常,數(shù)據(jù)庫在只有單個數(shù)據(jù)文件和單個事務日志文件的情況下性能發(fā)揮得才更好
如果使用多個文件,最好為附加文件創(chuàng)建第二個文件組,并將其設(shè)置為默認文件組,這樣,主文件將只包含系統(tǒng)表和對象
若要使性能最大化,請在盡可能多的不同的可用本地物理磁盤上創(chuàng)建文件或文件組,將數(shù)據(jù)操作頻繁的對象置于不同的文件組中
不要將事務日志文件置于已有其他文件和文件組的物理磁盤上
6、文件狀態(tài)
在線狀態(tài)、離線狀態(tài)、還原中

------read by <大話數(shù)據(jù)庫> P34------

------數(shù)據(jù)結(jié)構(gòu)20160711------
1、算法是解決特定問題求解步驟的描述,在計算機中表現(xiàn)為指令的有限序列,并且每條指令表示一個或多個操作
2、算法的五個基本特性:輸入、輸出、有窮性、確定性、可行性
3、算法設(shè)計的要求:
A.正確性:指算法至少應該居右輸入、輸出和加工處理無歧義性、能正確反映問題的需求、能夠得到問題的正確答案
四個層次:
a.算法程序沒有語法錯誤
b.算法程序?qū)τ诤戏ǖ妮斎霐?shù)據(jù)能夠產(chǎn)生滿足要求的輸出結(jié)果
c.算法程序?qū)τ诜欠ǖ妮斎霐?shù)據(jù)能夠得出滿足規(guī)格說明的結(jié)果
d.算法程序?qū)τ诰倪x擇,甚至刁難的測試數(shù)據(jù)都有滿足要求的輸入結(jié)果
B.可讀性:算法設(shè)計的另一個目的是為了便于閱讀、理解和交流
C.健壯性:當輸入數(shù)據(jù)不合法時,算法也能做出相關(guān)處理,而不是產(chǎn)生異?;蚰涿畹慕Y(jié)果
D.時間效率高
E.存儲量低
4、算法事前分析估算
A.與最高次項想乘的常數(shù)并不重要
B.可以忽略加法常數(shù)
C.判斷一個算法的效率時,函數(shù)中的常數(shù)和其他次要項常??梢院雎裕鴳撽P(guān)注主項(最高階項)的階數(shù)
5、算法時間復雜度定義
在進行算法分析時,語句總得執(zhí)行次數(shù)T(n)是關(guān)于問題規(guī)模n的函數(shù),進而分析T(n)隨n的變化情況并確定T(n)的數(shù)量級。算法的時間復雜度,也就是算法的時間量度,記作:T(n)=O(f(n))
它表示隨問題規(guī)模n的增大,算法執(zhí)行時間的增長率和f(n)的增長率相同,稱作算法的漸進時間復雜度,簡稱時間復雜度。其中f(n)是問題規(guī)模n的某個函數(shù)
一般情況下,隨著n的增大,T(n)增長最慢的算法稱為最優(yōu)算法
6、推到大O階:
A.用常數(shù)1取代運行時間中所有加法常數(shù)
B.在修改后的運行次數(shù)函數(shù)中,只保留最高階項
C.如果最高階項存在且不是1,則去除與這個項目相乘的常數(shù)
得到的結(jié)果就是大O階
7、算法時間復雜度
A.與問題的大小無關(guān)(n的多少),執(zhí)行時間恒定的算法,我們稱之為具有O(1)的時間復雜度,又叫常數(shù)階
B.線性階,O(n)
C.對數(shù)階,O(logn)
D.平方階,O(n^2)

------read by <大話數(shù)據(jù)結(jié)構(gòu)> P34------

------Android20160711------
1、第一個Activity代碼
public class FirstActivity extends Activity{
@Override
protected void onCreate(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
requestWindowFeature(Window.FEATURE_NO_TITLE);//必須放在setContentView語句之前
setContentView(R.layout.first_layout);//為當前活動加載布局文件
Button button1 = (Button) findViewById(R.id.button_1);//綁定布局中的按鈕
button1.setOnClickListener(new OnClickListener(){//設(shè)置按鈕單擊事件
@Override
public void onClick(View v){
Toast.makeText(FirstActivity.this, "You clicked Button 1", Toast.LENGTH_SHORT).show();
//消息通知器Toast.makeText(Context, Content, ShowTime);
}
});
}
}
2、LinearLayout布局文件
<LinearLayout xmlns:android:="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
andoird:orientation="vertical">

<button
  android:id="@+id/button_1"
  android:layout_width="match_parent"
  android:layout_height="wrap_content"
  android:text="Button1"
  />

</LinearLayout>
3、在AndroidManifest.xml中對活動進行注冊<application>標簽對里
<activity
android:name=".FirstActivity"
android:label="This is FirstActivity">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
4、為活動創(chuàng)建菜單
在res目錄下新建一個menu文件夾,在menu文件夾里新建Android XML File
<menu xmlns:android="http://schemas.android.com/apk/res/android">
<item
android:id="@+id/add_item"
android:title="Add"/>
<item
android:id="@+id/remove_item"
android:title="Remove"/>
</menu>
在Activity里重寫onCreateOptionsMenu方法
public boolean onCreateOptionsMenu(Menu menu){
getMenuInflater().inflate(R.menu.main, menu);
return true;//true顯示,false不顯示
}
在Activity里重寫onOptionsItemSelected()方法
public boolean onOptionsItemSelected(MenuItem item){
switch(item.getItemid()){
case R.id.add_item:
Toast.makeText(this, "You clicked Add", Toast.LENGTH_SHORT).show();
break;
case R.id.remove_item:
Toast.makeText(this, "You clicked Remove", Toast.LENGTH_SHORT).show();
break;
default:
}
return true;
}
5、銷毀一個活動
finish();
6、從當前活動跳轉(zhuǎn)到另一個活動(顯式)
Intent intent = new Intent(FirstActivity.this, SecondActivity.class);
startActivity(intent);
隱式:
為要啟動的活動添加<intent-filter>
<intent-filter>
<action android:name="com.example.activitytest.ACTION_START" />
<category android:name="android.intent.category.DEFAULT" />
<category android:name="com.example.activitytest.MY_CATEGORY"/>
</intent-filter>
創(chuàng)建intent:
Intent intent = new Intent("com.example.activitytest.ACTION_START");
intent.addCategory("com.example.activitytest.MY_CAYTEGORY");//如果是DEFAULT的category則不需要添加
7、intent啟動瀏覽器
Intent intent = new Intent(Intent.ACTION_VIEW);
intent.setData(Uri.parse("http://www.baidu.com"));
startActivity(intent);
8、可在Activity注冊的<intent-filter>標簽里添加<data>標簽,指定該Activity能夠響應的隱式intent
A.android:scheme 用于指定數(shù)據(jù)的協(xié)議部分,如上例中的http部分
B.android:host 用戶指定數(shù)據(jù)的主機名部分,如上例中的www.baidu.com服務
C.android:port 用于指定數(shù)據(jù)的端口部分,一般緊隨在主機名之后
D.android:path 用于指定主機名和端口之后的部分
E.android:mimeType 用于指定可以處理的數(shù)據(jù)類型,允許使用通配符的方式來進行指定
只有<data>標簽中指定的內(nèi)容和Intent中攜帶的Data完全一致時,當前活動才能夠相應該Intent
9、intent撥打電話
Intent intent = new Intent(Intent.ACTION_DIAL);
intent.setData(Uri.parse("tel:10086"));
startActivity(intent);
10、用Intent給下一個活動傳遞數(shù)據(jù)
數(shù)據(jù)寫入處:
String data = "Hello SecondActivity"
Intent intent = new Intent(this, SecondActivity.class);
intent.putextra("extra_data", data);
startActivity(intent);
數(shù)據(jù)讀取處:
Intent intent = getIntent();
String data = intent.getStringExtra("extra_data") //傳遞什么類型,就getTypeExtra什么類型
Log.d("SecondActivity", data);
11、返回數(shù)據(jù)給上一個活動
第一個Activity:
Intent intent = new Intent(FirstActivity.this, SecondActivity.class);
startActivityForResult(intent, 1);
第二個Activity:
Intent intent = new Intent();
intent.putExtrea("data_return", "Hello FirstActivity");
setResult(RESLT_OK, intent);
finish();
//設(shè)置按下返回鍵時也傳回數(shù)據(jù)
@Override
public void onBackPressed(){
Intent intent = new Intent();
intent.putExtra("data_return", "Hello FirstActivity");
setResult(RESULT_OK, intent);
finish();
}
第一個Activity:
@Override //requestCode就是啟動活動時傳入的請求碼,第二個resutCode就是返回數(shù)據(jù)時傳入的處理結(jié)果
protected void onActivityResult(int requestCode, int resultCode, Intent data){
switch(requestCode){ //data就是攜帶返回值的intent
case 1:
if(resultCode == RESULT_OK){
String returnedData = data.getStringExtra("data_return");
Log.d("FirstActivity", returnData);
}
break;
default:
}
}
------ read by <android第一行代碼> P54 ------

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容