提交 56021129 编写于 作者: W wizardforcel

2020-06-24 15:08:21

上级 8f1f2169
......@@ -60,5 +60,5 @@
现在我们已经学会了在 Eclipse 中创建 Hello World 应用。 在下一篇文章中,我们将讨论 Eclipse 提供的一些其他功能,这些功能使编码更容易。
<noscript><iframe allow="accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture" allowfullscreen="" frameborder="0" height="360" src="https://www.youtube.com/embed/79l5QSuI4ko?feature=oembed" title="Hello world program in java eclipse" width="640"></iframe></noscript>
<https://www.youtube.com/embed/79l5QSuI4ko?feature=oembed>
......@@ -195,5 +195,5 @@ class SecondClass extends FirstClass {
* 局部变量*不能*具有*访问修饰符*
* 局部变量只能具有可以应用的最终非访问修饰符。
<noscript><iframe allow="accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture" allowfullscreen="" frameborder="0" height="360" src="https://www.youtube.com/embed/WZRTwkCOYBQ?feature=oembed" title="Java Access specifier Tutorial" width="640"></iframe></noscript>
<https://www.youtube.com/embed/WZRTwkCOYBQ?feature=oembed>
......@@ -39,19 +39,19 @@
主要包括三个部分:
1. ### 记录
1. ### 记录
应用中用唯一名称标识的记录器可以有多个。 可以将每个记录器配置为特定级别-调试,信息,错误等。
要求我们创建 Logger 类的实例并指定日志级别。
要求我们创建记录器类的实例并指定日志级别。
2. ### 新增的人
2. ### 附加器
创建 Logger 实例后,我们必须知道在哪里查看生成的日志。 这就是 Appender 出现的地方。 它们指定消息要记录到的目的地或输出,例如文件,标准输出或另一台计算机等。一些可用的 Appender 是 FileAppender,RollingFileAppender,ConsoleAppender,SocketAppender 等。 可以将同一信息记录到多个输出中,即一个 Logger 可以有多个 Appender
创建记录器实例后,我们必须知道在哪里查看生成的日志。 这就是附加器出现的地方。 它们指定消息要记录到的目的地或输出,例如文件,标准输出或另一台计算机等。一些可用的附加器是`FileAppender``RollingFileAppender``ConsoleAppender``SocketAppender`等。 可以将同一信息记录到多个输出中,即一个记录器可以有多个附加器
3. ### 版面
3. ### 布局
既然我们知道如何生成日志并将其保存到特定的目的地,那么我们可能需要将它们呈现为不同的格式。 每个 Appender 必须映射到特定布局。 一些常用的布局是
既然我们知道如何生成日志并将其保存到特定的目的地,那么我们可能需要将它们呈现为不同的格式。 每个附加器必须映射到特定布局。 一些常用的布局是
* **PatternLayout** – 使用模式字符串的一次一行日志文件
* **HTMLLayout** – 以 HTML 格式呈现日志
......
......@@ -2,29 +2,29 @@
> 原文: [https://javabeginnerstutorial.com/selenium/10l-advanced-webdriver-using-log4j-part-2/](https://javabeginnerstutorial.com/selenium/10l-advanced-webdriver-using-log4j-part-2/)
这是本文的续篇,'[使用 Log4j 第 1 部分](https://javabeginnerstutorial.com/selenium/10k-advanced-webdriver-using-log4j-part-1/)',因此,我建议您先阅读第 1 部分,然后再继续进行操作,以掌握发生的情况。
这是本文的续篇,[使用 Log4j 第 1 部分](https://javabeginnerstutorial.com/selenium/10k-advanced-webdriver-using-log4j-part-1/),因此,我建议您先阅读第 1 部分,然后再继续进行操作,以掌握发生的情况。
**场景**
1. 配置 Log4j.properties 文件,
1. 配置`Log4j.properties`文件,
* 日志级别 – 调试
* 记录器 – rootLogger 和 SeleniumTestLogger
* Appender – RollingFileAppender
* 布局 – PatternLayout
2. 编写一个 JUnit4 测试用例“Log4jTest.java”,
* 记录器 – `rootLogger``SeleniumTestLogger`
* 附加器 – `RollingFileAppender`
* 布局 – `PatternLayout`
2. 编写一个 JUnit4 测试用例“`Log4jTest.java`”,
* 开启 Chrome 浏览器。
* 导航到[演示站点](https://chandanachaitanya.github.io/selenium-practice-site/)
* Logger 类创建一个实例
* 将“打开 Selenium 实践网站”登录到 test.log
*`Logger`类创建一个实例
* 将“打开 Selenium 实践网站”登录到`test.log`
* 按名称找到“自行车”复选框,然后单击它
* 记录“选择了自行车复选框”
* 使用 cssSelector 找到“杂志”单选按钮并选择它
* 使用`cssSelector`找到“杂志”单选按钮并选择它
* 记录“单击了杂志单选按钮”
* 日志“Log4jTest 成功执行”
3. 校验,
* Eclipse IDE 控制台输出屏幕
* JUnit 窗格可显示成功结果
* log 和 test.log 文件,并检查日志是否按预期更新
* 日志和`test.log`文件,并检查日志是否按预期更新
现在,我们今天的计划已成问题,让我们开始编写代码。
......@@ -60,7 +60,7 @@ log4j.appender.dest.Append=false
1. **`rootLogger`** – 处理系统生成的日志,并将它们输出到`system.log`文件,然后
2. **`SeleniumTestLogger`** – 处理由于用户手动插入代码而生成的日志,并输出到`test.log`文件
这两个记录器都将具有 RollingFileAppender 和 PatterLayout
这两个记录器都将具有`RollingFileAppender``PatterLayout`
`log4j.rootLogger=debug,file` – 日志级别指定为`debug``file`用作引用此特定记录器的标识符。
......@@ -82,10 +82,10 @@ log4j.appender.dest.Append=false
* `dd/MM/yyyy` – 日期
* `HH:mm:ss` – 执行时间
* `%c` – 打印作为参数传递给 Logger 实例的名称
* `%c` – 打印作为参数传递给`Logger`实例的名称
* `%m%n` – 日志消息
`log4j.appender.file.Append=false` – 将此属性设置为 false 将创建一个新文件,而不是更新现有文件。
`log4j.appender.file.Append=false` – 将此属性设置为`false`将创建一个新文件,而不是更新现有文件。
`log4j.logger.SeleniumTestLogger=DEBUG, dest` – 日志级别为`debug``dest`是此处使用的标识符。
......@@ -166,7 +166,7 @@ public class Log4jTest {
`import org.apache.log4j.Logger;` – 记录程序包已导入。
`log = Logger.getLogger("SeleniumTestLogger");` – 创建一个名为的实例,记录 Logger 类并传递“SeleniumTestLogger”作为参数。
`log = Logger.getLogger("SeleniumTestLogger");` – 创建一个名为的实例,记录`Logger`类并传递“`SeleniumTestLogger`”作为参数。
`log.debug("opening selenium-practice-site");` – 此语句将记录在`DEBUG`级别中用双引号引起的消息。
......
......@@ -2,7 +2,7 @@
> 原文: [https://javabeginnerstutorial.com/selenium/10m-advanced-webdriver-running-tests-in-headless-mode/](https://javabeginnerstutorial.com/selenium/10m-advanced-webdriver-running-tests-in-headless-mode/)
I am sure you would have heard of headless by now because Google introduced headless option for their Chrome browser eons back (from version 59)! Firefox is not far behind. It can be run in headless mode too!! Let’s execute some automated selenium tests in Firefox, without Firefox! 😉 In other words, tests run in the background and there is no display (i.e. the browser UI is not displayed to the user). The code will be provided for the Chrome browser as well.
我敢肯定,您现在会听说无头,因为 Google 为其 Chrome 浏览器(从 59 版开始)引入了无头选项! Firefox 紧随其后。 它也可以在无头模式下运行!! 让我们在没有 Firefox 的情况下在 Firefox 中执行一些自动化的 Selenium 测试! 😉换句话说,测试在后台运行,并且没有显示(即,浏览器 UI 不显示给用户)。 该代码还将提供给 Chrome 浏览器。
您脑海中可能会出现的第一个问题是,为什么我首先需要一个无头的浏览器? 我收到你的来信。 不用担心 我有答案并且相信我,这些都是很好的答案。 因此,事不宜迟,以下是您无头的几个原因,
......
......@@ -6,7 +6,7 @@
*好消息*:入门 Vue 很简单。
今天让我们保持**目标**非常简单。 遵循古老的传统,让我们旨在使用 Vue 在我们的网页上显示消息“Hello World”。
今天让我们保持**目标**非常简单。 遵循古老的传统,让我们旨在使用 Vue 在我们的网页上显示消息“`Hello World`”。
## 环境设置
......@@ -42,15 +42,15 @@ Vue 也可用于 unpkg,
### 选项 3:
您可以[将 Vue.js 的开发或生产版本](https://vuejs.org/v2/guide/installation.html)下载到本地,并使用 HTML 文件中的<脚本>标签直接将其包含在内。
您可以[将 Vue.js 的开发或生产版本](https://vuejs.org/v2/guide/installation.html)下载到本地,并使用 HTML 文件中的`script`标签直接将其包含在内。
**注意**:开发版本包含控制台警告,这些警告对于调试非常有用。 而生产版本主要针对大小(通过使用 vue.js 文件的缩小版本等)和速度进行了优化,这对于在实时环境中发布非常重要。*
**注意**:开发版本包含控制台警告,这些警告对于调试非常有用。 而生产版本主要针对大小(通过使用 vue.js 文件的缩小版本等)和速度进行了优化,这对于在实时环境中发布非常重要。
## 初始代码
我使用 Visual Studio Code 作为 IDE。 您可以使用 Sublime Text,WebStorm,Atom,Notepad ++或您选择的任何其他 IDE。 **我的建议?** 请选择 [**JS Fiddle**](https://jsfiddle.net/) ]标签。 这仅仅是锦上添花。 最好的部分是,您可以在一个屏幕上查看 HTML,CSS,JS 和输出。 与必须每次刷新一次以反映更改的浏览器不同,JS 小提琴会检测到更改并在“结果”窗格中自动呈现输出。
我使用 Visual Studio Code 作为 IDE。 您可以使用 Sublime Text,WebStorm,Atom,Notepad ++或您选择的任何其他 IDE。 **我的建议?** 请选择 [**JS Fiddle**](https://jsfiddle.net/) 标签。 这仅仅是锦上添花。 最好的部分是,您可以在一个屏幕上查看 HTML,CSS,JS 和输出。 与必须每次刷新一次以反映更改的浏览器不同,JS 小提琴会检测到更改并在“结果”窗格中自动呈现输出。
使用以下代码创建一个 HTML 文件“index.html”,
使用以下代码创建一个 HTML 文件“`index.html`”,
```java
<!DOCTYPE html>
......@@ -68,7 +68,7 @@ Vue 也可用于 unpkg,
</html>
```
代码很简单。 我们给页面命名为“Hello Vue!”。 以及`<head>`部分中使用带有`<script>`标签的 CDN 的 vue.js 的开发版本。 我们正在显示“Hello World!`<body>`部分中带有`id=”app”``<div>`元素内`<h1>`标签内的消息。
代码很简单。 我们给页面命名为“`Hello Vue!`”。 以及`<head>`部分中使用带有`<script>`标签的 CDN 的 vue.js 的开发版本。 我们正在显示“`Hello World!``<body>`部分中带有`id=”app”``<div>`元素内`<h1>`标签内的消息。
Chrome 浏览器中的当前输出如下,
......
......@@ -6,7 +6,7 @@
还记得我们如何在 HTML 代码中使用两个花括号将数据呈现到 DOM 吗? 让我们深入了解它,以了解 Vue 如何在引擎盖下工作。
来自“index.html”的摘录,
来自“`index.html`”的摘录,
```java
<div id="app">
......@@ -16,7 +16,7 @@
这个“两个大括号”的意思是“**模板语法**”,可以用它声明性地将数据渲染到 DOM。 由于系统是 Vue.js 的核心,因此这是可能的。 模板语法也称为“胡子语法”。
以下是“index.js”文件中的代码,
以下是“`index.js`”文件中的代码,
```java
var app = new Vue({
......@@ -29,7 +29,7 @@ var app = new Vue({
每当遇到模板语法时,Vue 都会自动查看其数据属性的对象,并将相应的值呈现给 DOM。
您是否注意到我已将 Vue 实例分配给变量“app”? 下一节将使用它来演示 Vue 附带的一些反应性!
您是否注意到我已将 Vue 实例分配给变量“`app`”? 下一节将使用它来演示 Vue 附带的一些反应性!
到目前为止的输出是(就像我们在上一篇文章中看到的那样),
......
......@@ -67,7 +67,7 @@ var app = new Vue({
你能猜出输出吗?
greet()函数返回的标题和值都将为“Hi!”。 因为一旦`message`的值更改,所有出现的事件都会被重新渲染。 这是默认行为。
`greet()`函数返回的标题和值都将为“`Hi!`”。 因为一旦`message`的值更改,所有出现的事件都会被重新渲染。 这是默认行为。
![without Vue Directives](data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%20784%20616'%3E%3C/svg%3E)
......
......@@ -8,8 +8,6 @@
## 步骤 1:
访问 [chrome 网上商店](https://chrome.google.com/webstore/category/extensions),然后在搜索栏中输入“vue devtools”。
![Chrome web store](data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%20517%20367'%3E%3C/svg%3E)
访问 [chrome 网上商店](https://chrome.google.com/webstore/category/extensions),然后在搜索栏中输入“`vue devtools`”。
<noscript><img alt="Chrome web store" class="alignnone size-full wp-image-13984" height="367" src="img/4256a8735003b689a7a0a0c2ed60bb90.png" width="517"/><p>点击显示的第一个建议“vue devtools”,或仅按“Enter”。</p><h2><strong>步骤 2:</strong></h2><p>点击“添加到 Chrome 浏览器”按钮,如下图所示。</p><p><img alt="Vue Devtools extension" class="alignnone size-full wp-image-13985" data-lazy-src="https://javabeginnerstutorial.com/wp-content/uploads/2018/10/2_addToChrome-1.jpg" height="272" src="data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%20952%20272'%3E%3C/svg%3E" width="952"/></p><noscript><img alt="Vue Devtools extension" class="alignnone size-full wp-image-13985" height="272" src="img/1fce0ff1ca3fdd876e9642754ef586ad.png" width="952"/><p>您将看到一个弹出窗口,要求某些权限。 点击“添加扩展名”按钮进行确认。</p><p><img alt="Devtools add confirmation" class="alignnone size-full wp-image-13986" data-lazy-src="https://javabeginnerstutorial.com/wp-content/uploads/2018/10/3_addExtensionConfirmation-1.jpg" height="272" src="data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%20818%20272'%3E%3C/svg%3E" width="818"/></p><noscript><img alt="Devtools add confirmation" class="alignnone size-full wp-image-13986" height="272" src="img/7792dae54eeb1af22e79a5dc410258b9.png" width="818"/><h3><strong>步骤 3:</strong></h3><p><span class="ezoic-adpicker-ad" id="ezoic-pub-ad-placeholder-124"> </span> <span class="ezoic-ad box-4 adtester-container adtester-container-124" data-ez-name="javabeginnerstutorial_com-box-4" style="display:block !important;float:none;margin-bottom:2px !important;margin-left:0px !important;margin-right:0px !important;margin-top:2px !important;min-height:110px;min-width:728px;text-align:center !important;"> <span class="ezoic-ad ezoic-adl" ezah="90" ezaw="728" id="div-gpt-ad-javabeginnerstutorial_com-box-4-0" style="position:relative;z-index:0;display:inline-block;min-height:90px;min-width:728px;"> </span> </span>添加扩展名后,您会注意到一条确认消息以及一个小的快捷方式,如下所示。</p><p><img alt="Devtools add confirmation" class="alignnone size-full wp-image-13987" data-lazy-src="https://javabeginnerstutorial.com/wp-content/uploads/2018/10/4_ExtnAdded.jpg" height="279" src="data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%201286%20279'%3E%3C/svg%3E" width="1286"/></p><noscript><img alt="Devtools add confirmation" class="alignnone size-full wp-image-13987" height="279" src="img/2e15d96fa5404165697eec4ed89ae97b.png" width="1286"/><p>瞧! 您的 Chrome 浏览器中已安装 Vue Devtools !!</p><p>让我们尝试启动一个页面,看看是否启用了此快捷方式。 换句话说,它变成了彩色? 这表明正在检测到 Vue.js,我们可以开始使用它。 我正在 chrome 浏览器中打开我们刚刚安装了 devtools 扩展程序的<a href="https://javabeginnerstutorial.com/vue-js/3-vue-directives/">先前文章</a>中讨论的<a href="https://github.com/JBTAdmin/vuejs/blob/master/03_Introduction%20to%20Vue%20directives/index.html"> index.html 文件</a></p><p>如果快捷方式仍处于禁用状态,则不要惊慌,单击该快捷方式将显示“Vue.js not found”。</p><p><img alt="Vue not detected" class="alignnone size-full wp-image-13988" data-lazy-src="https://javabeginnerstutorial.com/wp-content/uploads/2018/10/5_VueNotDetected.jpg" height="247" src="data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%20428%20247'%3E%3C/svg%3E" width="428"/></p><noscript><img alt="Vue not detected" class="alignnone size-full wp-image-13988" height="247" src="img/0496f07d0e0285251afcd2183e991e65.png" width="428"/><p>这是因为我们正在从系统中打开 HTML 文件,并且未将其部署在任何服务器上,即我们正在使用文件 URL。 只需看一下地址栏,您会发现地址以<code>file:///</code>开头。</p><p>解决此问题的简单方法是右键单击快捷方式-&gt;选择“管理扩展名”,然后打开“允许访问文件 URL”切换按钮。</p><p><img alt="Devtools allow access" class="alignnone size-full wp-image-13982" data-lazy-src="https://javabeginnerstutorial.com/wp-content/uploads/2018/10/7_AllowAcessToFileUrls.jpg" height="260" src="data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%20697%20260'%3E%3C/svg%3E" width="697"/></p><noscript><img alt="Devtools allow access" class="alignnone size-full wp-image-13982" height="260" src="img/06734acb15bbd845e521b820b6f1994f.png" width="697"/><p>现在,使用文件 URL 刷新页面,将按预期检测到 Vue.js。 要查看 Root 实例和数据对象,请打开 chrome 开发人员工具(按键盘上的<strong> F12 </strong>),然后在 Vue 面板上单击。</p><p><img alt="Vue panel" class="alignnone size-full wp-image-13983" data-lazy-src="https://javabeginnerstutorial.com/wp-content/uploads/2018/10/8_VuePanel.jpg" height="505" src="data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%20717%20505'%3E%3C/svg%3E" width="717"/></p><noscript><img alt="Vue panel" class="alignnone size-full wp-image-13983" height="505" src="img/1ea94fc972478ebd1eaad7ac4a96c3f9.png" width="717"/><p>完全不了解当前 Vue 面板中显示的所有内容绝对可以。 我们将讨论各个方面,并与他们合作。</p><p>再见,祝您有美好的一天!</p><div class="sticky-nav" style="font-size: 15px;"><div class="sticky-nav-image"></div><div class="sticky-nav-holder"><div class="sticky-nav_item"><h6 class="heading-sm">下一篇文章</h6></div><h5 class="sticky-nav_heading " style="font-size: 15px;"><a href="https://javabeginnerstutorial.com/vue-js/5-data-binding-p1/" title="5\. Data binding Part 1 (Text, raw HTML, JavaScript expressions)"> 5.数据绑定第 1 部分(文本,原始 HTML,JavaScript 表达式)</a></h5></div></div> </body> </html></noscript>
\ No newline at end of file
......@@ -71,5 +71,5 @@ public class VariablesInJava {
}
```
<noscript><iframe allow="accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture" allowfullscreen="" frameborder="0" height="360" src="https://www.youtube.com/embed/SFreQogjXH0?feature=oembed" title="Primitive types in java" width="640"></iframe></noscript>
<https://www.youtube.com/embed/SFreQogjXH0?feature=oembed>
......@@ -80,7 +80,7 @@ Java 中的每个异常都是`Exception`类的子类型,而`Exception`类又
* 还可以通过扩展`Exception`类来创建自定义异常。
* `Catch`块应以最特殊到最一般的形式排序。 否则,编译器将报错无法访问的代码。
<noscript><iframe allow="accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture" allowfullscreen="" frameborder="0" height="360" src="https://www.youtube.com/embed/bpHcP14Onp4?start=1&amp;feature=oembed" title="Java Try Catch Finally" width="640"></iframe></noscript>
<https://www.youtube.com/embed/bpHcP14Onp4?start=1&amp;feature=oembed>
<noscript><iframe allow="accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture" allowfullscreen="" frameborder="0" height="360" src="https://www.youtube.com/embed/bYY6SWnMpz4?start=1&amp;feature=oembed" title="Java Exception hierarchy" width="640"></iframe></noscript>
<https://www.youtube.com/embed/bYY6SWnMpz4?start=1&amp;feature=oembed>
......@@ -29,5 +29,5 @@ Java 继承定义了超类及其子类之间的 is-a 关系。 这意味着只
* 静态方法或变量不参与继承。
* 即使静态方法或变量不参与继承且不能被覆盖,也可以在子类中重新定义它们。 重新定义不称为覆盖,而是隐藏。
<noscript><iframe allow="accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture" allowfullscreen="" frameborder="0" height="360" src="https://www.youtube.com/embed/Oykbi03ipZs?start=1&amp;feature=oembed" title="Oops Concept - Inheritance" width="640"></iframe></noscript>
<https://www.youtube.com/embed/Oykbi03ipZs?start=1&amp;feature=oembed>
......@@ -116,5 +116,5 @@ Inside Static method
* 如果一个类包含任何静态块,则仅当将该类加载到 JVM 中时,才执行该块。 创建多个实例不会多次运行静态块。 仅构造器将执行多次。
* 如果调用`Class.forName("class_name")`,则将执行类的静态块。
<noscript><iframe allow="accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture" allowfullscreen="" frameborder="0" height="360" src="https://www.youtube.com/embed/QZwgz9tIy7I?start=1&amp;feature=oembed" title="Java Static variable" width="640"></iframe></noscript>
<https://www.youtube.com/embed/QZwgz9tIy7I?start=1&amp;feature=oembed>
......@@ -140,5 +140,5 @@ Hello JBT!
在下一节中,我们将学习 JDK 和 JRE 之间的区别。
<noscript><iframe allow="accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture" allowfullscreen="" frameborder="0" height="360" src="https://www.youtube.com/embed/nyOoLgWmmt8?feature=oembed" title="Compiling and Running Java File" width="640"></iframe></noscript>
<https://www.youtube.com/embed/nyOoLgWmmt8?feature=oembed>
......@@ -45,5 +45,5 @@ JDK = JRE + 开发 Java 应用所需的库。
无需费心生成字节码。 JVM 负责可移植性。 因此,最终的答案是 Java 是可移植
,而 JVM 是特定于机器的。
<noscript><iframe allow="accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture" allowfullscreen="" frameborder="0" height="360" src="https://www.youtube.com/embed/RJ5NLb2zLhw?start=5&amp;feature=oembed" title="JDK vs JRE vs JVM" width="640"></iframe></noscript>
<https://www.youtube.com/embed/RJ5NLb2zLhw?start=5&amp;feature=oembed>
......@@ -142,5 +142,5 @@ objectName.methodName(arg1, arg2, arg3).
2. 一个类是否可以创建另一个类的实例?
3. 一个类是否可以访问另一个类的方法和变量?
<noscript><iframe allow="accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture" allowfullscreen="" frameborder="0" height="360" src="https://www.youtube.com/embed/VW72ezYj3d4?feature=oembed" title="Java Class &amp; Object Tutorial" width="640"></iframe></noscript>
<https://www.youtube.com/embed/VW72ezYj3d4?feature=oembed>
......@@ -169,5 +169,5 @@ This is in method
* *构造器*是未继承的。 因此,无法将*覆盖*
* 构造器不能直接调用。 当创建新对象或由*其他构造器*调用新对象时,将被调用(**隐式**)。
<noscript><iframe allow="accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture" allowfullscreen="" frameborder="0" height="360" src="https://www.youtube.com/embed/l0b2qWuty2E?start=1&amp;feature=oembed" title="Java Final Constructor" width="640"></iframe></noscript>
<https://www.youtube.com/embed/l0b2qWuty2E?start=1&amp;feature=oembed>
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册